chai:无法读取未定义

时间:2017-06-05 12:51:23

标签: mocha chai

我是chaimocha的新手,我在第一个测试用例中使用了示例代码。这是我的代码。

var chai = require("chai");
var mocha = require("mocha");
var expect = chai.expect;

describe("Test", function() {
    it("Test", function() {
        expect([1, 2]).to.be.an('array').that.does.not.include(3);
    });
});

我运行mocha test.js

结果是:

TypeError: Cannot read property 'not' of undefined

我有什么问题?似乎.does返回undefined。我删除.does并且它正常工作。什么是正确的用法?

以下代码有效。

expect([1, 2]).to.be.an('array').that.not.include(3);

1 个答案:

答案 0 :(得分:2)

如果我用Chai 4运行你的代码,它就可以了。当我将它降级到Chai 3时,我得到了你得到的错误。在Chai 4.0.0中添加了does作为无操作断言。您使用的是早于4.0.0的Chai版本。

如果您查看releases信息,则可以找到4.0.0版本的信息:

  

添加doesbut作为新的无操作断言。 (相关问题:#700,#339 PRs:#621,#701)

(您可以在Github release中找到相同的信息,但附加的好处是问题编号是实际问题的链接。)