typescript - Cum pot testa o variabilă locală în Angular 2 cu karma + jasmine?


Încerc să scriu un test unitar cu Jasmine. Problema cu care mă confrunt este cum să testez o variabilă locală folosind Jasmine. Am reușit să testez o variabilă globală, dar nu și o variabilă locală.

Iată funcția mea:

checkDayIsOpen(): void {
  let isSpecial = false;
     this.items.forEach((item) => {
         if (item.is_open) {
             isSpecial = true;
         }
      });
   if(isSpeciality){
       call another function here...
     }
}

Vreau să testez valoarea lui isSpecial.

Răspuns #1

Nu poți să-l testezi deoarece dispare după apel. Totuși, poți testa dacă acea altă funcție a fost apelată.

describe("Person toString() Test", function() {
  it("calls the getName() function", function() {
    var testPerson = new Person();
    spyOn(testPerson, "getName");
    testPerson.toString();
    expect(testPerson.getName).toHaveBeenCalled();
  });
});