为什么要使用不同类型的Assert方法?

时间:2014-08-27 03:35:33

标签: unit-testing phpunit

我对单元测试有点新,我发现自己总是使用AssertTrue的语言等效版本,而不是学习可用的许多不同类型的其他Assert语句。

如果它们都归结为真或假,如果我AssertTrue(a == b)代替AssertEquals(a,b),我是否遗漏任何非常重要的内容?如果测试失败,它是否只是帮助提供更清晰的调试消息?

1 个答案:

答案 0 :(得分:1)

  

如果测试失败,它只是帮助提供更清晰的调试消息

是的,但这是一个非常重要的功能。我更喜欢看到预期' foo'成为'' 预期的错误为真

它还使代码更具可读性,并且在许多情况下更易于编写。我不知道phpunit的细节,但是看到像

这样的东西我更清楚了
assertThat(someCollection).containsExactly("a", "b", "c") 

比看到3个断言测试元素0是" a",元素1是" b"元素2是" c"。