我有以下断言......
promise.then(function() {
assert.ok(browser.query(addForm), "It should have the add form");
callback();
})
但是当我试图看到它变红时,我得到......
Possibly unhandled AssertionError: It should have the add form
并且测试套件无法再进一步了
答案 0 :(得分:1)
如果在函数内抛出任何内容,Cucumber.js似乎有问题。我不确定你使用哪个断言框架,但我遇到了类似的问题,使用Chai期望我传递给then()
的回调。我通过在回调之外拉出预期来解决这个问题,如here所示。
修改,包括来自链接的代码:
例如,如果你使用Chai,你的代码看起来像这样:
element(by.tagName('body')).getText().then(function (text) {
text = doSomethingSpecial(text);
expect(text).to.equal('something');
});
您可以使用了解承诺的库(例如在本例中为chai-as-promise)修改您的代码,以便它看起来像:
var text = element(by.tagName('body')).getText().then(function (text) {
return doSomethingSpecial(text);
});
expect(text).to.eventually.equal('something');