像 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 会很好;柴。期待;柴.应该();chai-as-promise 解决这些承诺并迅速兑现;但是,到目前为止,我没有尝试过任何工作;对 SO 的搜索似乎表明 Chai 使用了与 Protractor 不同的承诺类型,并且承诺类型的不兼容可能导致
TypeError:无法读取未定义的属性“应该”
这就是我导入这些库的方式:
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;不是 expect() 而是.should.eventually.....
谢谢