能够像Chaijs在他们的文档中所说的那样做是有帮助的:return doSomethingAsync().should.eventually.equal("foo");
这将加快编写我的e2e测试,因为我不必明确解决这样的承诺:
// I wouldn't have to resolve this promise like this as it's very verbose and slows down
// my development
return somePromise.then(function(resolvedPromise){
expect(resolvedPromise).to.equal(expectedResult);
});
使用柴会很好; chai.expect; chai.should(); chai-as-promise解决这些承诺,并迅速对它们断言;然而,到目前为止,我没有尝试过任何工作;对SO的搜索似乎表明Chai使用的不同承诺类型比Protractor更多,承诺类型的不兼容可能会导致
TypeError:无法读取未定义的属性'should'“
这是我导入这些库的方式:
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
var expect = chai.expect;
var should = require('chai').should();
var assert = chai.assert;
是否有人在不使用return doSomethingAsync().should.eventually.equal("foo");
等其他图书馆的情况下成功使用'Q'
?我再次不想依赖'Q'
之类的其他库;如果可能的话,我只想在我的量角器e2e中使用纯chaijs;不是期望()而是.should.eventually.....
由于