Getting “is not a thenable” message while using “e

2019-05-21 05:11发布

问题:

When I tried to verify the condition as below.

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

I'm getting false is not a thenable message, If I removed eventually condition as below then it working fine.

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

Can anyone help me to understand the difference. Also If the condition fails, It displays the error message and not executing the hooks.js.

回答1:

In simple words:

eventually - is a method from chai-as-promised. If you use eventually protractor expects that you are asserting result of a promise to value (in this case false). val1 and val2 are bools. Comparison of val1 and val2 is also a bool.

Bool is not a promise.

You've got two possibilities: 1. Don't use eventually (just a chai). 2. Return a promise from comparison of those values.