【问题标题】:chai: Cannot read property 'not' of undefinedchai:无法读取未定义的属性“not”
【发布时间】:2017-06-05 12:51:23
【问题描述】:

我是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 返回未定义。我删除了.does,它工作正常。正确的用法是什么?

以下代码有效。

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

【问题讨论】:

    标签: mocha.js chai


    【解决方案1】:

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

    如果您查看releases 信息,您会发现 4.0.0 版本是这样的:

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

    (您可以在 Github release 中找到相同的信息,另外还有一个好处是问题编号是指向实际问题的链接。)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-04-06
      • 2020-10-30
      • 2019-10-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多