sll*_*sll 48

没有不同.Assert.True()Isv2.5以后添加了其他(没有).

从版本的文档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);
}
Run Code Online (Sandbox Code Playgroud)

  • 根据下一个答案,这三个实现完全相同,并且都依赖于 Assert.That() 所以最好是直接使用 Assert.That()... sll 的答案(这里,在这篇文章中)是从NUnit 站点:页面底部的 http://www.nunit.org/index.php?p=conditionAsserts&r=2.5。除此之外,无论如何都要尽量避免这三种情况并使用更好的断言,正如来自 RavenDB 的 Eyal Eini(Ayende)在此处写道:http://ayende.com/blog/4118/assert-true-is-the-tool最后一招 (2认同)

And*_*son 13

似乎没有任何实施差异.在最近一个版本的源代码,看这里True,IsTrueThat以同样的方式,所有实现时,参数列表是相同的:

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);
}
Run Code Online (Sandbox Code Playgroud)

重载方法类似地实现.