NUnit中Assert.True和Assert.IsTrue之间的区别?

时间:2012-09-10 13:10:30

标签: nunit assert

这两者之间有什么不同吗?

2 个答案:

答案 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的源代码,当参数列表相同时,TrueIsTrueThat都以相同的方式实现:< / 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);
}

重载方法类似地实现。