Tesztfüggvények a helyes kivételek dobásához
A kivételek teszteléséhez használhatjuk a throw
által biztosított állítást Chai. Ez az állítás lehetővé teszi számunkra, hogy meghatározzuk a kivétel típusát, és minden további részletet, amelyet ellenőrizni szeretnénk. Ha ezt az állítást belefoglaljuk teszteseteinkbe, akkor biztosíthatjuk, hogy függvényeink a várt módon viselkedjenek, és megfelelően kezeljék a hibahelyzeteket.
Tekintsünk egy példát, ahol van egy függvényünk, amely két számot oszt. Biztosítani szeretnénk, hogy a függvény a nullával való osztásakor kivételt adjon. Tesztesetet írhatunk a Chai 's throw
állítás segítségével, hogy ellenőrizzük, hogy a függvény helyesen dob-e a DivideByZeroError
nullával való osztásakor.
const { expect } = require('chai');
function divide(a, b) {
if(b === 0) {
throw new Error('DivideByZeroError');
}
return a / b;
}
describe('divide',() => {
it('should throw DivideByZeroError when dividing by zero',() => {
expect(() => divide(10, 0)).to.throw('DivideByZeroError');
});
it('should return the correct result when dividing two numbers',() => {
expect(divide(10, 5)).to.equal(2);
});
});
A fenti példában az to.throw
állítást használjuk annak ellenőrzésére, hogy a divide
függvény DivideByZeroError
nullával osztva a-t dob-e. Az állítás egy függvénybe van burkolva, hogy meg tudja fogni a kivételt és elvégezze a szükséges ellenőrzéseket.
A helyes kivételdobásra vonatkozó tesztek beiktatásával biztosíthatjuk, hogy funkcióink megfelelően kezeljék a hibakörülményeket, és értelmes visszajelzést adjanak váratlan helyzetek esetén. Ez segít javítani kódunk általános minőségét és megbízhatóságát.
Összefoglalva, a kivételeket dobó függvények tesztelése a szoftvertesztelés fontos szempontja. Chai 's állításával throw
könnyen ellenőrizhetjük, hogy függvényeink szükség esetén dobják-e a várt kivételeket. Ha ezeket a teszteket beépítjük tesztelési stratégiánkba, fokozhatjuk alkalmazásaink robusztusságát, és jobb felhasználói élményt biztosíthatunk.
Mocha A "Node.js,, és " sorozat harmadik cikkében Chai megvizsgáljuk, hogyan tesztelhetünk függvényeket és módszereket a segítségével Chai. Chai egy hatékony állítási könyvtár az értékek és eredmények kódbeli tesztelésére JavaScript.
Objektummetódusok és viselkedésük tesztelése
Egy objektum metódusainak ellenőrzéséhez használhatunk olyan tesztelési keretrendszerek által biztosított állításokat, mint Mocha a és Chai. Ezek az állítások lehetővé teszik számunkra, hogy állításokat tegyünk az objektumok tulajdonságairól és viselkedéséről.
Vegyünk egy példát, ahol van egy objektum, amelyet calculator
összeadás, kivonás, szorzás és osztás módszereivel hívunk meg. Biztosítani szeretnénk, hogy ezek a módszerek a megfelelő eredményeket adják. Teszteseteket írhatunk Chai a 's állítások segítségével, hogy ellenőrizzük ezeknek a módszereknek a viselkedését.
const { expect } = require('chai');
const calculator = {
add:(a, b) => a + b,
subtract:(a, b) => a- b,
multiply:(a, b) => a * b,
divide:(a, b) => a / b,
};
describe('calculator',() => {
it('should return the correct sum when adding two numbers',() => {
expect(calculator.add(5, 3)).to.equal(8);
});
it('should return the correct difference when subtracting two numbers',() => {
expect(calculator.subtract(5, 3)).to.equal(2);
});
it('should return the correct product when multiplying two numbers',() => {
expect(calculator.multiply(5, 3)).to.equal(15);
});
it('should return the correct quotient when dividing two numbers',() => {
expect(calculator.divide(6, 3)).to.equal(2);
});
});
A fenti példában az állítást használjuk Chai annak expect
ellenőrzésére, hogy az objektum metódusai calculator
a várt eredményeket adják vissza. Minden teszteset egy adott módszerre összpontosít, és ellenőrzi, hogy az adott bemenethez a megfelelő kimenetet adja-e vissza.
Ezeknek a teszteseteknek a futtatásával biztosíthatjuk, hogy az calculator
objektum metódusai a várt módon viselkedjenek, és pontos eredményeket adjanak.
A metódusok visszatérési értékének ellenőrzése mellett állításokat is használhatunk az objektumok egyéb tulajdonságainak és viselkedésének ellenőrzésére. Chai Az állítások széles skáláját kínálja, amelyek lehetővé teszik számunkra, hogy különféle állításokat tegyünk az objektumokkal kapcsolatban, mint például a tulajdonságértékek ellenőrzése, a metódushívások ellenőrzése stb.
Egy objektum metódusainak alapos tesztelésével biztosíthatjuk azok helyességét és megbízhatóságát, ami hozzájárul kódbázisunk általános minőségéhez.