2014-07-18 57 views
10

我的代碼是像下面JUnit推薦assertTrue()或assertEquals()爲String?

@Test 
public void testMyMethod(){ 
    MyClass mc = new MyClass(); 
    String exeVal="sometext some text"; 
    String x=mc.exampleMethod(); 

    // Assertion type 1 
    Assert.assertEquals(exeVal,x); 
    //Assertion Type 2 
    Assert.assertTrue(exeVal.equals(x)); 
} 

我想知道這是最好的辦法。

+1

這是相同的。 assertEquals()調用給定對象上的equals()方法。使用任何你喜歡的。 –

+2

完全基於可讀性,我會去assertEquals()。 –

+1

@BartekMaraszek由於'assertEquals'會給你更清晰的反饋,所以我認爲最好使用它。 –

回答

17

類型1是首選的,因爲它們不匹配時會收到的斷言消息。

org.junit.ComparisonFailure: expected: <[foo]> but was: <[bar]> 

VS

java.lang.AssertionError 
相關問題