protractor - Chai 和 promise 的 Chai 有什么区别

标签 protractor mocha.js chai chai-as-promised

使用 Protractor 时,chai 和 mocha 框架中 promise 的 chai 有什么区别?

最佳答案

Chai - 测试断言库,允许您使用 expectshould 等关键字测试代码。但是在使用 Chai 时,您必须注意 promise 。例如

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);
  });
});

另一方面,如果您按 promise 使用 chai,则无需显式处理 promise 。这可以在 Chai as Promise 库的帮助下完成。例如;

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);
});

关于protractor - Chai 和 promise 的 Chai 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36847940/

相关文章:

node.js - 使用 Mocha 和 Chai 进行测试,消耗之前测试中的值

node.js - 如何在 mocha Nodejs 中使用 Passport JS 对我的 facebook 登录进行单元测试?

javascript - 如何使用 Mocha Chai Sinon 检查元素是否存在?

javascript - Protractor 找不到 Angular

loops - 使用参数循环进行 Protractor 测试

angular - 分组测试结果 : Karma/Protractor integration with Jenkins

javascript - 如何使用 Protractor 处理具有相同中继器的两个表

node.js - 如何在不修改源代码的情况下获得 Mocha 测试的代码覆盖率?

typescript - ts2339 : property 'should' does not exist on type Bluebird<boolean>

javascript - 如何期待与 Mocha 和 Chai 的 throw ?