有没有一种常规方法来尝试一组assert
,以便在测试失败之前始终对其进行评估?在测试失败之前允许多个断言错误
比方说,我的测试评估一些名字在页面上存在:现在
var pageContent = 'dummy page content';
//.include(haystack, needle, [message])
//Asserts that haystack includes needle.
assert.include(pageContent, 'Alice');
assert.include(pageContent, 'Bob');
assert.include(pageContent, 'John');
,如果Alice丢失,则测试将失败,一个错误:
>AssertionError: expected 'dummy page content' to contain 'Alice'
不过我想要得到通知所有三个名字都失踪了,因为在这种情况下失败一个条件并不妨碍评估他人。
与其编写一个包装方法来聚合这些检查的可能输出并抛出一个错误,我希望能有第三方库“专门化”这类事情或者可能内置的功能我俯视。
“软”断言正是我前往的地方,但我明白了你的观点;我想这些的需要表明我的测试缺乏教科书原子性。也许我真正追求的是一种模式,允许(在上面的例子中)从输入数组中创建3个单独的测试?我会解决类似于'includesOne'的问题,但是我想不出一种断言失败的方式,将其记录为缺少值的显式列表。 –