测试返回类型为bool的方法时。
你应该:
expected = true;
Assert.AreEqual(expected, actual);
或
Assert.IsTrue(actual);
我知道他们都会产生相同的结果,但使用哪种更好的做法?
编辑:例如,如果我做AreEqual,它是否与在返回字符串a la的方法上执行IsTrue基本相同:
string expected = “true”;
String actual = test.testMethod(data)
Bool test;
if expected.equals(actual)
test = true;
else
test = false;
Assert.IsTrue(test);
答案 0 :(得分:19)
如果您正在测试直接返回应该始终为true的布尔值,那么您应该只使用Assert.IsTrue
。
你不应该按摩数据来获得IsTrue
的布尔值;相反,您应该在Assert
或CollectionAssert
中调用更相关的方法。
在您编辑的示例中,您应该通过调用Assert.AreEqual
代替;它会给你一个更好的信息。
答案 1 :(得分:15)
使用Assert.IsTrue
更清晰,更简洁。