Bide ‘alaiak’ probatzea ez da hutsegiteak probatzea baino hobea. Probako kodeen estaldura ona da salbuespenezko bideak probatzeko. Bestela, ez dago inolako konfidantzarik salbuespenak zuzen kudeatuta dauden. Unitateen azterketa esparru guztiek, Mocha edo Chai bezala, onartzen dituzte salbuespen probak (kode adibideak beherago). Gogaikarria iruditzen bazaizu funtzio eta salbuespen bakoitza probatzea, REST APIen HTTP erroreak bakarrik probatzea erabaki zenezake.
Javascript
describe("Facebooken txata", () => {
it("Jakinarazi txateko mezu berria iristean", () => {
const txatZerbitzua = new txatZerbitzua();
txatZerbitzua.parteHartzaileak = eskuratuDeskonektatutakoParteHartzaileak();
expect(txatZerbitzua.mezuaBidali.bind({ mezua: "Aupa" })).to.throw(
KonexioErrorea
);
});
});
Typescript
describe("Facebooken txata", () => {
it("Jakinarazi txateko mezu berria iristean", () => {
const txatZerbitzua = new txatZerbitzua();
txatZerbitzua.parteHartzaileak = eskuratuDeskonektatutakoParteHartzaileak();
expect(txatZerbitzua.mezuaBidali.bind({ mezua: "Aupa" })).to.throw(
KonexioErrorea
);
});
});
Javascript
it("Facebookeko talde berria sortu", () => {
const taldeOkerrarenInformazioa = {};
return httpRequest({
method: "POST",
uri: "facebook.com/api/groups",
resolveWithFullResponse: true,
body: taldeOkerrarenInformazioa,
json: true,
})
.then((response) => {
expect.fail(
"kodea bloke honetan exekutatu nahi bagenu, goiko operazioan errorerik ez da izan"
);
})
.catch((response) => {
expect(400).to.equal(response.statusCode);
});
});
Typescript
it("Facebookeko talde berria sortu", async () => {
let taldeOkerrarenInformazioa = {};
try {
const response = await httpRequest({
method: "POST",
uri: "facebook.com/api/groups",
resolveWithFullResponse: true,
body: taldeOkerrarenInformazioa,
json: true,
});
// kodea bloke honetan exekutatu nahi bagenu, goiko operazioan errorerik ez da izan
expect.fail("Eskaerak huts egin behar izango luke");
} catch (response) {
expect(400).to.equal(response.statusCode);
}
});