2016-05-12 4 views
1

Wenn ich einen verketteten Methodenaufruf vortäusche bekomme ich eine Nullpointer-Ausnahme.PowerMail verkettete Methodenaufrufe in der letzten Klasse

Mein Code ist wie folgt aussehen:

@RunWith(PowerMockRunner.class) 
@PrepareForTest({Comment.class, CommentThread.class}) 
public class YoutubeTest { 

@Test 
public void testSortCommentsByDate() { 
Comment youtubeCommentOne = PowerMockito.mock(Comment.class); // This is a final class 

Mockito.when(youtubeCommentOne.getSnippet().getUpdatedAt().getValue()).thenReturn(youtubeCommentOneDate); 

} 

Was mache ich falsch hier?

Antwort

2

Aufteilen einer Kette Methodenaufruf sollte funktionieren:

Comment commentMock = PowerMockito.mock(Comment.class); 
CommentThread commentThreadMock = PowerMockito.mock(CommentThread.class); 

when(commentMock.getSnippet()).thenReturn(commentThreadMock); 
when(commentThreadMock.getUpdatedAt()).thenReturn(new DateTime(youtubeCommentOneDate)); 

Wenn es nicht ist, was Sie suchen Besuche this Beispiel. Demnach sollte das Zurückgeben tiefer Stubs das Problem lösen.

Versuchen Sie, Mock Kommentar Objekt mit Mockito Anmerkung:

@Mock(answer = Answers.RETURNS_DEEP_STUBS) 
Comment youtubeCommentOne; 
+0

Danke für die Hilfe. Das war genau mein Problem. – LupoZ

Verwandte Themen