2014-01-30 8 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

Вы сравниваете String и Object SetOfUsers. Я бы сказал вам реализовать метод equals() для setOfUsers, чтобы сравнить то, что в нем. – Fabinout

ответ

0

«экземпляром '- класс типа SetOfUsers. Затем вы сравниваете это со строкой. Вам нужно сравнить его с примером объекта или сначала включить экземпляр в строку.

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);

Смежные вопросы