Assert似乎甚至在传递

时间:2017-12-07 20:59:49

标签: c# unit-testing

我有一个断言方法,它检查数组是空还是空。此检查工作正常,当我希望它为null或为空时,测试通过。问题是我有一个字符串显示测试失败时打印到数组的字符串。

Assert.True(list == null || list.Count < 1, $"Printing array {list.ToString()}");

此方法导致抛出异常,因为正在为空列表计算字符串,即使断言通过且不应使用该字符串。为什么还要评估字符串?

1 个答案:

答案 0 :(得分:6)

调用方法将在调用发生之前评估其所有参数。

Assert.True()运行之前,它会评估其字符串以传递参数。

相关问题