这两者之间有什么区别吗?
问问题
13265 次
2 回答
54
没有不同。自 v2.5 起添加了Assert.True()
其他(不带)。Is
来自版本的文档2.5
:(nunit v2.5)
为 True、False、Null 和 NotNull 条件提供了两种形式。“Is”形式与早期版本的 NUnit 框架兼容,而那些没有“Is”的形式是为了与 NUnitLite 兼容而提供的
顺便说一句,反汇编的 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);
}
于 2012-09-10T13:26:01.100 回答
15
似乎没有任何实现差异。在此处查看最新版本的源代码,当参数列表相同时True
,IsTrue
和That
都以相同的方式实现:
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);
}
重载方法的实现方式类似。
于 2012-09-10T13:24:33.343 回答