46

これら2つに違いはありますか?

4

2 に答える 2

54

変わりはない。v2.5 から追加されAssert.True()たその他 ( なし)。Is

バージョンのドキュメントから2.5: ( nunit v2.5 )

True、False、Null、および NotNull 条件には、2 つの形式が用意されています。「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 に答える