我有一个断言方法,它检查数组是空还是空。此检查工作正常,当我希望它为null或为空时,测试通过。问题是我有一个字符串显示测试失败时打印到数组的字符串。
Assert.True(list == null || list.Count < 1, $"Printing array {list.ToString()}");
此方法导致抛出异常,因为正在为空列表计算字符串,即使断言通过且不应使用该字符串。为什么还要评估字符串?
答案 0 :(得分:6)
调用方法将在调用发生之前评估其所有参数。
在Assert.True()
运行之前,它会评估其字符串以传递参数。