Jaka jest różnica między expect(something).toBe(true), expect(something).toBeTruthy()i expect(something).toBeTrue()?
Zauważ, że toBeTrue()jest to niestandardowy element dopasowujący wprowadzony jasmine-matcherswśród innych przydatnych i przydatnych dopasowań, takich jak toHaveMethod()lub toBeArrayOfStrings().
Pytanie ma być ogólne, ale jako przykład ze świata rzeczywistego testuję, czy element jest wyświetlany protractor. Którego dopasowania powinienem użyć w tym przypadku?
expect(elm.isDisplayed()).toBe(true);
expect(elm.isDisplayed()).toBeTruthy();
expect(elm.isDisplayed()).toBeTrue();
toBeTruthyjeśli nie jesteś pewien typu, jest on taki sam, jak == truepodczas gdy podejrzewam, że .toBe(true)jest taki sam, jak === truePamiętaj, że to trochę za burtą, aby wywołać funkcję, aby sprawdzić, czy jest prawda. Słowo porady. Zapomnij ==i !=istnieje w Javascript i nigdy nie używaj go ponownie. Prawda nie jest potrzebna i jest pułapką dla początkujących. Użyj ===i !==zamiast tego.
eslintzgłoszenie do nas, jeśli ==lub !=są wykorzystywane sugeruje, aby zmienić ===i !==.
.toBe(true)==.toBeTrue(). toBeTruthy () może być prawdziwe nie tylko na podstawie true , ale także na 123 , "dfgdfg", [1, 2, 3], itd ... w zasadzieif(x==true)są prawdziwe, podczas gdyif(x===true)są prawdziwe.