我正在尝试使用mocha测试用例来检查其余的api,但问题是如果我有3个测试用例并且第一个失败则休息没有执行。它最初只停止。
以下是代码:
describe('suite 1',function(){
it('tc1',function(done){
// some test case with failure
should([1]).equal([]);
done();
})
it('tc2',function(done){
// some test case with success
should([]).equal([]);
done();
})
})
在上面的代码中,我无法获得报告 2个测试用例。 1通过。 1失败。
它在中间失败,在这里它仅在第一个测试用例中失败。
答案 0 :(得分:0)
两个测试都失败了,因为都应该失败。
两个测试都失败了,因为您使用equal
来检查对象身份。也就是说,它使用===
来检查相等性。现在,打开一个交互式Node会话并尝试:
[] === []
你会得到false
。这是因为每个新的空数组都是一个新的JavaScript对象,只有当两个数组是同一个对象时,===
才会成立。
请注意,您在第一次测试时会得到您期望的结果,但不是您(可能)认为的原因。测试失败的原因与我刚才解释的相同。 should
不考虑一个数组包含元素但另一个数组为空的事实。
您应该使用eql
来测试阵列是否具有相同的成员。