這兩者有什麼區別嗎?NUnit中的Assert.True和Assert.IsTrue之間的區別?
32
A
回答
39
沒有區別。自v2.5以來,已添加Assert.True()
和其他(不包括Is
)。提供了真,假,空和NOTNULL 條件(nunit v2.5)
兩種形式:
從文檔版本
2.5
。在「是」的形式與早期版本的 NUnit的框架的兼容,而那些沒有「就是」提供了 兼容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);
}
12
似乎沒有任何實施差異。縱觀最近一個版本here的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);
}
重載的方法類似實施。
相關問題
- 1. nUnit中的assert.GreaterOrEqual和Assert.IsTrue是否有區別?
- 2. nunit中顯式和忽略屬性之間的區別
- 3. Nunit Assertions - Assert.False(true)vs Assert.True(false)
- 4. 之間的〜/和的區別../
- 5. '#','%'和'$'之間的區別
- 6. {!!之間的區別!!}和{{}}
- 7. '+ ='和'= +'之間的區別?
- 8. 「。+」和「。+?」之間的區別
- 9. .eq之間的區別。和==
- 10. #。/和#之間的區別。 ./
- 11. !=和!之間的區別==
- 12. 「%〜dp0」和「。\」之間的區別?
- 13. | =和^ = css之間的區別
- 14. 之間的區別。和#
- 15. ==和case之間的區別?
- 16. 「**/* /」和「** /」之間的區別?
- 17. jQuery - '。'之間的區別和「#」
- 18. 「?1」和「?」之間的區別
- 19. `%in%`和`==`之間的區別
- 20. fmod和%之間的區別
- 21. 之間的區別:+和:+
- 22. make中的「$(shell ...)」和「$$(...)」之間的區別
- 23. python中的[]和[,,]之間的區別
- 24. javascript中的/ * * /和//之間的區別
- 25. $之間的區別?和PowerShell中的$ LastExitCode
- 26. jQuery中的$和$()之間的區別
- 27. C中的/ +和+之間的區別?
- 28. 類區域和堆之間的區別
- 29. SPFile和PublishingPage類別之間的區別
- 30. 子類和類別之間的區別?
用戶是否有任何使用偏好?還是有一個「應該」使用? – dmeehan
根據下一個答案,這三個實現是完全相同的,都依賴於Assert.That() 所以最好的將直接使用Assert.That()... sll的答案(在這裏,在這文章)是從NUnit網站複製的:http://www.nunit.org/index.php?p=conditionAsserts&r=2.5在頁面底部。 除了THAT之外,無論如何都要儘量避免使用這三個並使用更好的斷言,正如RavenDB的Eyal Eini(Ayende)在這裏寫的:http://ayende.com/blog/4118/assert-true-is-the - 工具 - 的最後手段 – pashute