1

我有以下断言...

        promise.then(function() {
                  assert.ok(browser.query(addForm), "It should have the add form");
          callback();
            })

但是当我试图看到它变红时,我却得到...

Possibly unhandled AssertionError: It should have the add form

并且测试套件只是没有走得更远

4

1 回答 1

1

如果在函数中抛出任何东西,Cucumber.js 似乎会出现问题。我不确定您使用的是哪个断言框架,但我在传递给的回调中使用 Chai 遇到了类似的问题then()。我通过将期望拉到回调之外解决了这个问题,如下所示

编辑,包括链接中的代码:

例如,如果您使用 Chai 并且您的代码如下所示:

element(by.tagName('body')).getText().then(function (text) {
  text = doSomethingSpecial(text);
  expect(text).to.equal('something');
});

您可以使用理解 Promise 的库(例如本例中的 chai-as-promised)修改您的代码,使其看起来像:

var text = element(by.tagName('body')).getText().then(function (text) {
  return doSomethingSpecial(text);
});
expect(text).to.eventually.equal('something');
于 2015-04-13T22:49:15.067 回答