Мы разработали довольно большой набор специальных жасминовых коннекторов, которые помогают сделать наш код более чистым и избежать дублирования кода. Я заметил, что некоторые пользовательские составители жасмина используют ===
тестирование равенства и некоторые jasmine.matchersUtil.equals
. Пример:
toHaveHandCursor: function() {
return {
compare: function(actual) {
return {
pass: actual.getCssValue("cursor").then(function(cursor) {
return cursor === "pointer";
})
};
}
};
},
toBeActive: function() {
return {
compare: function(elm) {
return {
pass: protractor.promise.all([
elm.getId(),
browser.driver.switchTo().activeElement().getId()
]).then(helpers.spread(function (currentElementID, activeElementID) {
return jasmine.matchersUtil.equals(currentElementID, activeElementID);
})),
message: "Element is not active."
};
}
};
}
Вопрос:
В чем разница между тестированием равенства jasmine.matchersUtil.equals
и ===
и какой метод должен быть предпочтительнее?
Другими словами, мы вообще рискуем, если используем только ===
?