所以我试图将mocha配置为我正在处理的javascript项目的测试框架,并且我遇到了一个奇怪的事实: 使用单独的断言框架。 Mocha's documentation on assertions声明它设计用于任何断言框架,这是一个值得称赞的目标,但为什么它不提供任何内置的断言方法?我只是很难想到你想要一个测试框架的任何用例,但无法通过或未通过测试。
答案 0 :(得分:7)
作为Jeff mentioned,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
[...]
没有断言库就可以正常工作。
答案 1 :(得分:2)
节点标准库包含assert module。如果你愿意,可以使用另一个断言库;但是,对于许多用例,标准assert就足够了。
答案 2 :(得分:1)
因为它不想决定你使用什么类型的断言框架。有些人喜欢QUnit断言风格,而有些人更喜欢像Jasmine这样的BDD风格。