测试失败后评估断言消息的好模式

时间:2014-09-27 15:57:22

标签: java junit

让我们说我有一个JUnit测试,如:

Assert.assertTrue(complexResult.toString(), someMethod(in1, in2, complexResult)

如果测试失败,我的消息将是一个complexResult字符串,之前是调用someMethod的测试的有趣部分,而不是测试失败后我的complexResult的字符串视图。

有没有比以下更好的方式:

if (!someMethod(in1, in2, complexResult)) {
   Assert.fail(complexResult.toString());
}

2 个答案:

答案 0 :(得分:2)

boolean result = someMethod(in1, in2, complexResult); 
assertTrue(complexResult.toString(), result);

答案 1 :(得分:2)

是的,只需预先评估断言调用的参数。

boolean result = someMethod(in1, in2, complexResult);
Assert.assertTrue(complexResult.toString(), result);

这比失败方法更优雅。