Отключить ожидание Жасмин, как xdescribe или xit?
На веб-сайте Jasmine я вижу, что мы можем отключить xdescribe
или отдельные характеристики по xit
, Есть ли способ отключить только ожидание (вроде xexpect
)?
Причина, по которой я спрашиваю об этом, заключается в том, что я пишу e2e-тесты с Protractor, и в нашей непрерывной интеграции у нас пока нет (если вообще) доступа к базе данных, хотя локально мы можем выполнять реальные сквозные тесты с доступом к базе данных, например.
Я хотел бы отметить индивидуальные ожидания как необязательные, в зависимости от конфигурации или переменной среды. Было бы неплохо сделать один раз переключение, а затем создать оболочку вокруг ожидаемого, которая завершится неудачей только в том случае, если мы запускаем тесты локально (с доступом к базе данных).
Так, например, я могу создать новое семейство спецификаций:
if (process.env.DB_AVAILABLE) {
dbit = it;
} else {
dbit = xit;
}
и напишите спецификации, которые зависят от соединения с базой данных, следующим образом:
dbit('creates new user', function () {});
Есть ли способ сделать то же самое с expect
(например dbexpect
)?
Если с моим подходом что-то в корне не так, не сдерживайтесь и дайте мне знать.
1 ответ
Вы можете создать свой собственный xexpect
путем реализации всех методов / свойств с пустой функцией:
var xexpect = function() {
return xexpect;
};
Object.getOwnPropertyNames(jasmine.Expectation.prototype).forEach(function(name){
xexpect[name] = xexpect;
});
Object.defineProperty(xexpect, 'not', {get: xexpect});
Использование:
xexpect(1).toBeGreaterThan(2);
xexpect(true).not.toEqual(true);