4

因此,我试图将 mocha 配置为我正在处理的 javascript 项目的测试框架,但我发现了一个奇怪的事实,即您必须使用单独的断言框架。Mocha 关于断言的文档指出,它旨在与任何断言框架一起使用,这是一个值得称赞的目标,但为什么它不提供任何内置的断言方法呢?我只是很难想到任何需要测试框架但无法通过或失败测试的用例。

4

3 回答 3

8

正如Jeff 提到的,Mocha 的设计者让他们的用户可以选择使用任何断言库。至于为什么没有默认断言,因为Mocha 不需要它来工作。执行以下测试:

var a = 1;
it("test", function () {
    if (a !== 2)
        throw new Error("a should equal 2");
});

你得到输出:

  1) test

  0 passing (3ms)
  1 failing

  1)  test:
     Error: a should equal 2
     [...]

如果没有断言库,它就可以正常工作。

于 2014-12-23T23:08:57.970 回答
3

节点标准库包括一个断言模块。如果你愿意,可以使用另一个断言库;但是,对于许多用例,标准断言就足够了。

于 2014-12-23T18:42:15.057 回答
1

因为它不想规定您使用哪种类型的断言框架。有些人喜欢 QUnit 断言风格,而另一些人则喜欢像 Jasmine 这样的 BDD 风格。

于 2013-07-29T23:22:26.530 回答