0

像 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.....

谢谢

4

0 回答 0