使用量角器时,在 mocha 框架中承诺的 chai 和 chai 有什么区别?
问问题
2767 次
3 回答
6
Chai - 测试断言库,它允许您使用诸如等关键字测试您的代码expect
。should
但是在使用 Chai 时,您必须注意承诺。例如
var expect = require('chai').expect;
it('should display correct tile', function() {
var blah = 'foo';
var title = browser.getTitle();
return title.then(function(actualTitle) {
expect(actualTitle).to.equal(expectedTitle);
});
});
另一方面,如果你按照承诺使用 chai,那么你不需要明确地处理承诺。这可以在Chai as promised
图书馆的帮助下完成。例如;
var chai = require('chai');
var expect = chai.expect;
var chaiAsPromised = require('chai-as-promised');
chai.use(chaiAsPromised);
it('should display correct title', function() {
var actualTitle = browser.getTitle();
return expect(actualTitle).to.eventually.equal(expectedTitle);
});
于 2016-04-25T18:24:04.283 回答
3
Chai 是一个 BDD 断言库 - 为您提供常用关键字,例如assert
orshould
等。
Chai as Promised 是该库的扩展,专门用于处理带有 Promise 的断言(而不是自己手动解决它们)。
于 2016-04-25T18:18:58.370 回答
1
它可以帮助您测试使用 Promises 的代码。这些可能很难测试,因为它们依赖于要执行的回调并且通常是异步的。这篇文章可能会对您有所帮助:http ://www.sitepoint.com/promises-in-javascript-unit-tests-the-definitive-guide/
于 2016-04-25T18:15:08.253 回答