Получение не годное сообщение при использовании в конечном итоге в транспортире.

Когда я попытался проверить условие, как показано ниже.

 var val1 = "ONE";
 var val2 = "TWO";
 expect(val1==val2).to.eventually.equal(false)

Я получаю сообщение false is not the thenable. Если я удалю в конечном итоге условие, как показано ниже, оно будет работать нормально.

 var val1 = "ONE";
 var val2 = "TWO";
 expect(val1==val2).to.equal(false)

Может ли кто-нибудь помочь мне понять разницу. Также, если условие не выполняется, отображается сообщение об ошибке и не выполняется hooks.js.


person KAK    schedule 04.07.2017    source источник


Ответы (1)


Простыми словами:

eventually - это метод от чай-как-обещал. Если вы используете eventually транспортир, ожидает, что вы утверждаете результат обещания значения (в данном случае false). val1 и val2 - это логические значения. Сравнение val1 и val2 тоже логично.

Bool - это не обещание.

У вас есть две возможности: 1. Не использовать в конце концов (просто чай). 2. Вернуть обещание из сравнения этих значений.

person Kacper    schedule 04.07.2017
comment
Спасибо за информацию. Но есть одно сомнение, что если мое утверждение bool не удалось, оно выдает сообщение об ошибке и внезапно останавливает выполнение файла функции, не передавая сценарии как неудачные. - person KAK; 04.07.2017
comment
Вы используете огуречный фреймворк? Я решил эту проблему, установив ignoreUnhandledExceptions: true в конфигурационном файле, как описано здесь: github .com / protractor-cucumber-framework /. - person Chai; 26.07.2017