Nggawe tes dhasar nggunakake Mocha lan Chai
Kanggo nggawe tes dhasar nggunakake Mocha lan Chai, sampeyan bisa tindakake langkah iki:
1. Instal Mocha lan Chai: Gunakake npm (Manajer Paket Node) kanggo nginstal Mocha lan Chai ing proyek Node.js sampeyan. Jalanake perintah ing ngisor iki ing direktori proyek sampeyan:
npm install mocha chai --save-dev
2. Gawe file test: Gawe file anyar, contone test.js, lan impor deklarasi ing ngisor iki kanggo nggunakake Mocha lan Chai:
const chai = require('chai');
const expect = chai.expect;
describe('Example Test Suite', () => {
it('should pass the test', () => {
expect(2 + 2).to.equal(4);
});
});
3. Jalanake test: Bukak terminal lan jalanake mocha printah kanggo nglakokake tes. Yen kabeh dadi lancar, sampeyan bakal weruh asil ditampilake ing terminal.
Tes dhasar iki nggunakake Mocha lan Chai kanggo mriksa pitungan sing gampang. Ing conto ing ndhuwur, kita priksa manawa asil operasi 2 + 2kudu padha karo 4. Yen asile bener, tes bakal lulus.
Kanthi nambah describe lan it mblokir, sampeyan bisa nggawe tes sing luwih rumit lan mriksa macem-macem bagean kode sumber sampeyan.
Elinga yen sampeyan uga bisa nggunakake cara pratelan liyane sing diwenehake dening Chai, kayata assert utawa should, kanggo nyoba. Panggunaan tartamtu gumantung saka pilihan sampeyan lan carane sampeyan pengin ngatur kode test.
Nggunakake pratelan lan pitakon kanggo verifikasi asil fungsi
Nalika nggunakake Mocha lan Chai kanggo testing, sampeyan bisa nggunakake pratelan lan pitakon kanggo mriksa asil fungsi. Ing ngisor iki sawetara conto nggunakake pernyataan lan pitakon kanggo mriksa asil fungsi:
1. Gunakake expectpratelan lan to.equalpitakon kanggo mriksa asil fungsi sing ngasilake nilai tartamtu:
const result = myFunction();
expect(result).to.equal(expectedValue);
2. Gunakake pernyataan `expect` lan to.be.trueutawa to.be.falsequery kanggo mriksa asil fungsi sing ngasilake nilai boolean:
const result = myFunction();
expect(result).to.be.true; // or expect(result).to.be.false;
3. Gunakake pratelan `expect` lan to.be.nullpitakon utawa to.be.undefined kanggo mriksa asil fungsi sing ngasilake nilai null utawa ora ditemtokake:
const result = myFunction();
expect(result).to.be.null; // or expect(result).to.be.undefined;
4. Gunakake expectpratelan lan to.includepitakon kanggo mriksa apa nilai kalebu ing larik utawa senar:
const result = myFunction();
expect(result).to.include(expectedValue);
5. Gunakake expectpratelan lan to.have.lengthOfpitakon kanggo mriksa dawa array utawa string:
const result = myFunction();
expect(result).to.have.lengthOf(expectedLength);
Conto iki mung sawetara saka akeh cara kanggo nggunakake pratelan lan pitakon ing Mocha lan Chai kanggo mriksa asil fungsi. Sampeyan bisa ngatur lan nggunakake pratelan lan pitakon sing cocog adhedhasar kabutuhan uji coba proyek sampeyan.
Nggawe kasus tes sing sukses lan gagal
Nalika nulis kasus tes karo Mocha lan Chai, penting kanggo nutupi skenario sukses lan gagal. Ing ngisor iki conto nggawe kasus tes kanggo skenario sukses lan gagal:
1. Kasus Uji Sukses:
describe('myFunction', () => {
it('should return the expected result', () => {
// Arrange
const input = // provide the input for the function
const expected = // define the expected result
// Act
const result = myFunction(input);
// Assert
expect(result).to.equal(expected);
});
});
2. Kasus Uji Gagal:
describe('myFunction', () => {
it('should throw an error when invalid input is provided', () => {
// Arrange
const invalidInput = // provide invalid input for the function
// Act and Assert
expect(() => myFunction(invalidInput)).to.throw(Error);
});
});
Ing kasus tes sing sukses, sampeyan nemtokake input kanggo fungsi kasebut lan asil sing dikarepake. Banjur, sampeyan nelpon fungsi karo input lan negesake yen asil cocog karo nilai samesthine.
Ing kasus tes kegagalan, sampeyan menehi input sing ora bener kanggo fungsi kasebut lan negesake manawa ana kesalahan. Iki mesthekake yen fungsi bener nangani input ora bener utawa kahanan kesalahan.
Kanthi nyakup skenario sukses lan gagal ing kasus tes, sampeyan bisa mesthekake yen kode wis dites kanthi tliti lan nangani kahanan sing beda-beda kanthi tepat.