chai 和 chai as promised 和有什么不一样

What is the difference between chai and chai as promised

chai 和 chai as promised in mocha framework while using protractor 有什么区别?

它可以帮助您测试使用 Promises 的代码。这些可能很难测试,因为它们依赖于要执行的回调并且通常是异步的。这篇文章可能对您有所帮助:http://www.sitepoint.com/promises-in-javascript-unit-tests-the-definitive-guide/

Chai 是一个 BDD 断言库 - 为您提供常用关键字,例如 assertshould

Chai as Promised 是该库的扩展,专门用于处理带有 promises 的断言(而不是您自己手动解决它们)。

https://github.com/domenic/chai-as-promised/

Chai - 测试断言库,它允许您使用 expectshould 等关键字测试您的代码。但是在使用 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);
});