gpt4 book ai didi

java - 最终类中的 Powermock 链式方法调用

转载 作者:行者123 更新时间:2023-11-29 04:45:58 25 4
gpt4 key购买 nike

当我模拟一个链式方法调用时,我得到一个空指针异常。

我的代码是这样的:

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

}

我在这里做错了什么?

最佳答案

拆分链式方法调用应该可行:

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

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

如果这不是您要查找的内容,请查看 this例子。据此,返回深度 stub 应该可以解决问题。

尝试使用 Mockito 注释模拟 Comment 对象:

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

关于java - 最终类中的 Powermock 链式方法调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37191589/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com