Mbangun test 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(Node Package Manager) 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. Nggawe file test: Nggawe file anyar, contone test.js
, lan ngimpor 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 mriksa pitungan sing gampang. Ing conto ing ndhuwur, kita priksa manawa asil operasi 2 + 2
kudu padha karo 4
. Yen asil 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 testing. 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 expect
pratelan lan to.equal
pitakon kanggo mriksa asil fungsi sing ngasilake nilai tartamtu:
const result = myFunction();
expect(result).to.equal(expectedValue);
2. Gunakake pernyataan `expect` lan to.be.true
utawa to.be.false
query 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.null
pitakon 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 expect
pratelan lan to.include
pitakon kanggo mriksa apa nilai kalebu ing larik utawa senar:
const result = myFunction();
expect(result).to.include(expectedValue);
5. Gunakake expect
pratelan lan to.have.lengthOf
pitakon 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 Mocha lan Chai 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.