Ing proses pangembangan piranti lunak, ngoptimalake lan ngatur tes penting kanggo njamin akurasi lan efisiensi ing tahap tes. Ing artikel iki, kita bakal njelajah carane ngoptimalake lan ngatur tes karo Mocha lan Chai ing Node.js.
Ngoptimalake lan ngatur tes nambah proses tes, nyuda kesalahan, lan nambah linuwih aplikasi sampeyan. Kanthi ngetrapake teknik kasebut, sampeyan bisa ngatur lan nglakokake tes kanthi efektif ing proyek Node.js nggunakake Mocha lan Chai.
Organisasi Tes:
- Nggolongake tes miturut fungsi: Ngatur tes adhedhasar fungsionalitas nggawe luwih gampang ngatur lan ngenali tujuan tes kanggo saben fitur tartamtu ing proyek sampeyan.
- Nggunakake nested describes: Gunakake nested describes kanggo nggawe struktur hirarkis kanggo ngatur tes. Iki mbantu njaga struktur sing jelas lan bisa diwaca kanggo suite tes sampeyan.
Nggunakake pancingan kanggo nindakake tugas persiyapan lan teardown sadurunge lan sawise tes
- Nggunakke pancingan: Mocha nyedhiyakake pancingan kayata
before
,after
,beforeEach
, lanafterEach
kanggo nindakake operasi pre lan post-test. Nggunakake pancingan mbantu ngirit wektu lan nambah kinerja sakabèhé saka tes. - Nggunakake
skip
lanonly
arahan:skip
Arahan ngidini sampeyan ngliwati tes sing ora perlu sajrone pangembangan. Arahan kasebutonly
mbisakake tes tartamtu, sing migunani yen sampeyan mung kudu nyoba bagean cilik saka basis kode.
Tuladha:
describe('Calculator',() => {
beforeEach(() => {
// Set up data for all tests within this describe block
});
afterEach(() => {
// Clean up after running all tests within this describe block
});
describe('Addition',() => {
it('should return the correct sum',() => {
// Test addition operation
});
it('should handle negative numbers',() => {
// Test addition with negative numbers
});
});
describe('Subtraction',() => {
it('should return the correct difference',() => {
// Test subtraction operation
});
it('should handle subtracting a larger number from a smaller number',() => {
// Test subtraction when subtracting a larger number from a smaller number
});
});
});
Tes klompok lan nggunakake njlèntrèhaké pamblokiran kanggo organisasi
Kanggo ngatur lan klompok tes bebarengan, kita bisa nggunakake describe
pamblokiran ing framework testing kaya Mocha. Blok kasebut describe
ngidini kita nglumpukake tes sing gegandhengan adhedhasar topik utawa tujuan tartamtu.
Iki conto nggunakake describe
blok kanggo ngatur tes sing ana gandhengane karo Calculator
obyek:
const { expect } = require('chai');
class Calculator {
add(a, b) {
return a + b;
}
subtract(a, b) {
return a- b;
}
multiply(a, b) {
return a * b;
}
divide(a, b) {
if(b === 0) {
throw new Error('Cannot divide by zero');
}
return a / b;
}
}
describe('Calculator',() => {
let calculator;
beforeEach(() => {
calculator = new Calculator();
});
describe('add()',() => {
it('should return the sum of two numbers',() => {
const result = calculator.add(5, 3);
expect(result).to.equal(8);
});
});
describe('subtract()',() => {
it('should return the difference of two numbers',() => {
const result = calculator.subtract(5, 3);
expect(result).to.equal(2);
});
});
describe('multiply()',() => {
it('should return the product of two numbers',() => {
const result = calculator.multiply(5, 3);
expect(result).to.equal(15);
});
});
describe('divide()',() => {
it('should return the quotient of two numbers',() => {
const result = calculator.divide(6, 3);
expect(result).to.equal(2);
});
it('should throw an error when dividing by zero',() => {
expect(() => calculator.divide(6, 0)).to.throw('Cannot divide by zero');
});
});
});
Ing conto ing ndhuwur, kita nggunakake describe
pamblokiran kanggo klompok tes related kanggo saben cara saka Calculator
obyek. Kita uga nggunakake beforeEach
blok kanggo nggawe obyek anyar Calculator
sadurunge nglakokake saben tes.
Kanthi nggunakake describe
pamblokiran, kita bisa ngatur lan klompok tes kanthi cara sing jelas lan terstruktur, supaya gampang dingerteni lan ngatur kode tes.
Ngatur proses tes nganggo plugin lan wartawan
Nalika nggunakake kerangka testing kaya Mocha lan Chai, kita bisa ngatur proses testing kanthi nggunakake plugins lan reporter. Ing ngisor iki sawetara conto carane nggunakake plugin lan wartawan kanggo ngatur proses tes:
-
Mocha plugins : Mocha ndhukung nggunakake plugin kanggo ngluwihi fitur sawijining. Contone, sampeyan bisa nggunakake
mocha-parallel-tests
kanggo mbukak tes bebarengan, kang bisa nyepetake eksekusi. Sampeyan bisa nginstal plugin iki liwat npm banjur gunakake ing Mocha file konfigurasi sampeyan. -
Chai plugins : Chai uga nyedhiyakake plugins kanggo nambah fitur. Contone, sampeyan bisa nggunakake
chai-http
kanggo nyoba panjalukan HTTP ing tes sampeyan. Kajaba iku, sampeyan nginstal plugin iki liwat npm banjur gunakake ing file tes sampeyan. -
Wartawan : Mocha ndhukung macem-macem jinis wartawan kanggo nampilake asil tes. Wartawan populer yaiku
mocha-reporter
, sing nyedhiyakake macem-macem format laporan kayata spec, dot, lan liya-liyane. Sampeyan bisa nemtokake reporter sing pengin digunakake liwat opsi baris perintah utawa ing file konfigurasi.
Contone, kanggo nggunakake mocha-reporter
reporter, sampeyan bisa mbukak printah ing ngisor iki:
mocha --reporter mocha-reporter tests/*.js
Iki bakal mbukak tes ing tests
direktori lan nampilake asil nggunakake mocha-reporter
reporter.
Kanthi nggunakake plugin lan wartawan, sampeyan bisa ngatur lan ngluwihi fitur Mocha lan Chai cocog karo kabutuhan tes proyek sampeyan.