2017-05-28 3 views
-1

Ok können so sagen, dass wir die folgende einfache Klasse haben:Wie testen Getter, die eine Liste von benutzerdefinierten Objekten zurückgibt?

public class Employees{ 


     List<Person> personsList; 
     private int numberOfEmployees; 

     public void Employees(){ 

     //constructor 

     } 

     //getters & setters 

     public List<Person> getPersons(){ 
      return personsList; 
     } 

      public void addNewEmployee(Person person){ 

     this.personsList.add(person); 

    } 

    } 

und ich möchte den Getter testen, die eine Liste von Person-Objekte (mit Mockito)

Ich tue so etwas wie zurückgibt:

@Test 
public void getPersonsTest() throws Exception{ 
    Employees.addNewEmployee(employee); //where employee is a mocked object 

    assertEquals(Employees.getPersons(),WHAT SHOULD I PUT HERE??); 


} 

Irgendwelche Ideen?

+2

Ihre getPersons() ist eine Void-Methode. Bist du dir des geposteten Codes sicher? – davidxxx

+0

ja mein schlechtes. werde es schnell reparieren. –

+1

.... und in einer statischen Weise aufgerufen werden - bitte Ihr Spiel, wie dies (um ehrlich zu sein) sehr schlampig Code ist. Wenn Sie eine ernsthafte Frage haben, schreiben Sie bitte ernsthaften, * echten * Code. –

Antwort

1

Wenn Sie testen möchten, ob eine einzelne Person zu Ihrer Liste hinzugefügt werden kann, können Sie so etwas tun. Da alle Klassen "Wertklassen" sind, macht Mockito keinen Sinn.

Beachten Sie, dass in einer JUnit-Assertion das erwartete Ergebnis zuerst angezeigt wird, gefolgt von dem Ergebnis, das Sie überprüfen möchten. Wenn Sie es falsch verstehen, machen die Fehlermeldungen keinen Sinn, wenn die Assertion fehlschlägt.

Beachten Sie, dass dies wirklich mehr von einem Test der addNewEmployee als von getPersons.

Verwandte Themen