当我尝试验证如下条件时。
var val1 = "ONE";
var val2 = "TWO";
expect(val1==val2).to.eventually.equal(false)
我得到 false is not a thenable 消息,如果我删除 最终 条件如下,那么它工作正常。
var val1 = "ONE";
var val2 = "TWO";
expect(val1==val2).to.equal(false)
任何人都可以帮助我理解其中的区别。此外,如果条件失败,它会显示错误消息并且不执行 hooks.js 。
最佳答案
简单来说:eventually
- 是一种来自 chai-as-promised 的方法。
如果您使用 eventually
Protractor ,则预计您正在断言对值(value)的 promise 的结果(在本例中为 false
)。val1
和 val2
是 bool 值。 val1
和 val2
的比较也是一个 bool 值。
Bool 不是 promise 。
你有两种可能:
1. 不要使用finally(只是一个chai)。
2. 从这些值的比较中返回一个 promise。
关于protractor - 在 Protractor 中使用 "is not a thenable"时获取 "eventually"消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44900889/