Assert.AreEqual vs Assert.IsTrue/Assert.IsFalse

本文关键字:Assert IsFalse vs AreEqual IsTrue | 更新日期: 2023-09-27 18:13:12

测试返回类型为bool的方法时

你应该有:

expected = true;
Assert.AreEqual(expected, actual);

Assert.IsTrue(actual);

我知道它们都产生相同的结果,但哪种是更好的实践使用?

编辑:例如,如果我做AreEqual,它是否本质上不等同于在一个返回字符串的方法上做IsTrue:

string expected = “true”;
string actual = test.testMethod(data)
bool test;
if expected.equals(actual)
    test = true;
else 
    test = false;
Assert.IsTrue(test);

Assert.AreEqual vs Assert.IsTrue/Assert.IsFalse

你应该只使用Assert.IsTrue,如果你测试的东西直接返回一个布尔值,应该总是为真。

你不应该为IsTrue处理数据来获得布尔值;相反,您应该调用AssertCollectionAssert中更相关的方法。

在你编辑的例子中,你应该调用Assert.AreEqual;它会给你一个更好的信息。

使用Assert.IsTrue更清晰,更简洁。