web-dev-qa-db-ja.com

NUnitのAssert.TrueとAssert.IsTrueの違いは?

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

40
Vlad Titov

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

バージョン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);
}
48
sll

実装上の違いはないようです。最新バージョンのソースコードを見る hereTrueIsTrueおよび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);
}

オーバーロードされたメソッドも同様に実装されます。

13