这两者之间有什么不同吗?
答案 0 :(得分:44)
没有区别。自v2.5起,Assert.True()
和其他人(没有Is
)被添加。
来自版本2.5
的文档:(nunit v2.5)
为True,False,Null和NotNull提供了两种形式 条件。 “Is”表单与早期版本兼容 NUnit框架,而没有提供“Is”的框架 与NUnitLite的兼容性
BTW,反汇编的nunit.framework.dll(使用ILSPY)
public static void IsTrue(bool condition)
{
Assert.That(condition, Is.True, null, null);
}
public static void True(bool condition)
{
Assert.That(condition, Is.True, null, null);
}
答案 1 :(得分:12)
似乎没有任何实施差异。查看最新版本here的源代码,当参数列表相同时,True
,IsTrue
和That
都以相同的方式实现:< / p>
public static void True(bool condition, string message, params object[] args)
{
Assert.That(condition, Is.True, message, args);
}
...
public static void IsTrue(bool condition, string message, params object[] args)
{
Assert.That(condition, Is.True, message, args);
}
...
static public void That(bool condition, string message, params object[] args)
{
Assert.That(condition, Is.True, message, args);
}
重载方法类似地实现。