2014-01-30 266 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);