2017-08-29 5 views

Antwort

2

So:

@RunWith(MockitoJUnitRunner.class) 
public class OffStateTest { 

    @Mock 
    private Fan fan; 

    @Test 
    public void testChangeState() { 
     //Arrange 
     OffState offState = new OffState(); 

     //Act 
     offState.changeState(fan); 

     //Assert 
     Mockito.verify(fan).setState(Mockito.any(OnState.class)); 
    } 
} 
+0

@Nkosi: Ich war die 'OnState.equals unter der Annahme() 'Methode würde dies abdecken. Ich fing an, eine ArgumentCaptor-Form des Testfalls zu schreiben, aber ich dachte, dass das nur Verwirrung stiften könnte. Anyway, mit 'Mockito.any()' ist der einfachste Weg, um es zu übergeben und das OP kann bei Bedarf zu einem benutzerdefinierten Matcher oder ArgumentCaptor weitergehen. Vielen Dank! – glytching

+0

Aber wenn ich einen der verify (fan) verwendet. SetState (Mockito.any (OffState.class)); oder verifizieren (fan) .setState (Mockito.any (OnState.class)); trotzdem funktioniert es – Srinivas

Verwandte Themen