Skip to content

Latest commit

 

History

History
94 lines (77 loc) · 2.84 KB

testingerrorflows.basque.md

File metadata and controls

94 lines (77 loc) · 2.84 KB

Testeatu erroreen fluxua zure test framework gustukoena erabiliz

Azalpen paragrafoa

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.

Kode adibidea: ziurtatu salbuespen egokia jaurtitzen dela Mocha eta Chai erabiliz

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
    );
  });
});

Kodearen adibidea: APIak HTTP errore kode zuzena bueltatzen duela ziurtatu

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);
  }
});