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-matchers
wś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();
toBeTruthy
jeśli nie jesteś pewien typu, jest on taki sam, jak == true
podczas gdy podejrzewam, że .toBe(true)
jest taki sam, jak === true
Pamię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.
eslint
zgł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.