2014-01-30 308 views
0

我測試一類稱爲SetOfUsers和followes我正在測試的方法:JUnit測試失敗

public void testAddUser() 
    { 
     System.out.println("addUser"); 
     User aUser = new User("Bob","abc123","Manager"); 
     SetOfUsers instance = new SetOfUsers(); 
     instance.addUser(aUser); 
     System.out.print(aUser); 
     assertEquals("Bob,abc123,Manager", instance); 
     // TODO review the generated test code and remove the default call to fail. 
     // fail("The test case is a prototype."); 
    } 

然而,這種測試失敗我正在顯示

testAddUser Failed: expected: <Bob, abc123,Manager> but was: <[Staff Name:Bob]> 
+0

您比較一個字符串和一個對象SetOfUsers。我會告訴你實現setOfUsers的「equals()」方法,以便比較它的內容。 – Fabinout

回答

0

輸出消息「實例'是一類SetOfUsers。然後你將它與一個String進行比較。您需要將其與示例對象進行比較,或者先將「實例」轉換爲字符串。

0

assertEquals(「Bob,abc123,Manager」,instance); 一個參數包含String而第二類包含SetOfUsers

0
assertEquals("Bob,abc123,Manager", instance); 

的對象,其中

"Bob,abc123,Manager" instanceof String 

instance instanceof SetOfUsers 

總是失敗,因爲

String.class != SetOfUsers.class 
0

嘗試使用

assertEquals(「Bob,abc123,Manager」,instance.toString());

0

您需要檢查「instance.toString()」的輸出實際是什麼,並使用它在assertEquals方法中進行比較。

assertEquals(,instance);