2014-01-08 63 views
3

我們應該使用assertEquals還是assertTrue來比較基本類型? 是否有偏好,如果有的話,爲什麼?我想知道每種方法的優缺點。AssertTrue vs AssertEquals for ints

+0

試試它們,如果斷言失敗,兩者中的哪一個會給你一個更有幫助的消息?這將是你的答案。 – reto

+0

對我來說,這看起來是一個完全有效的問題。 – ksl

回答

13

assertEquals()在失敗時會給出一個有用的默認錯誤消息,如「期望的X但得到Y」,但assertTrue()不能。在此使用更具體的適用方法,即assertEquals()

2

assertEquals()用於測試期望值與返回值是否相等。而assertTrue()則是檢查一個條件。話雖如此,你也可以說

如果你有一個像。

String x = "abc"; 
String y = "abc"; 

assertEquals(x, y); 

你也可以把它改成

assertTrue(x.equals(y)); 

這是斷言你期望的另一種方式。