2012-09-10 5 views

答えて

39

違いはありません。 Assert.True()およびその他(Isなし)がv2.5から追加されました。バージョン2.5のドキュメントから

:(nunit v2.5

2つの形式は、TRUE、FALSE、ヌルとNOTNULL 条件のために提供されています。 (ILSPYを使用して)、一方NUnitLite

との互換性のために提供されている「が」ないものがところで、逆アセンブルnunit.framework.dll

形態は、 NUnitのフレームワークの以前のバージョンと互換性がある「が」
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); 
} 
+0

ユーザーはどの設定を使用するのですか?それとも、 "使うべき"ものがありますか? – dmeehan

+1

次の答えによると、3つの実装はまったく同じで、すべてAssert.That()に依存しています。 したがって、Assert.That()を直接使用するのが最善でしょう... sllの回答post)はNUnitサイトのhttp://www.nunit.org/index.php?p=conditionAsserts&r=2.5からコピーされます。 RavenDBのEyal Eini(Ayende)がここに書いているので、THAT以外はどんな場合でも3つすべてを避けて、より良いアサーションを使用してください:http://ayende.com/blog/4118/assert-true-is-the最後の手段 – pashute

12

実装上の違いはありません。

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); 
} 

オーバーロードされたメソッドが同様に実装されています:最新バージョンhereのソースコードを見てみると、TrueIsTrueThatは、すべての引数リストが同じであるのと同じ方法で実装されています。

関連する問題