小编rad*_*dar的帖子

当在线程中预期时,Powermockito预期的对象创建不起作用

我在某些单元测试中使用了PowerMockito,但遇到了问题。我正在尝试测试创建一系列线程并运行它们的方法。在每个线程中,都会创建一个我需要期望的对象,而不是返回我自己的模拟对象(它发出http请求等)。我在使用之前已经完成了此操作PowerMockito.whenNew(...),并且工作正常,但是这似乎不起作用-PowerMockito是否在线程内不起作用?我还没有找到其他类似问题或有关情况的文档。

一些示例代码可帮助您可视化:

for(Object object : objectList) {
    Thread t = new Thread(new Runnable() {
        public void run() {
            SomeObject objectImTryingToStub = new SomeObject();
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我用来尝试捕获对象创建的代码:

SomeObject mockSomeObject = mock(SomeObject.class);
PowerMockito.whenNew(SomeObject.class).withNoArguments().thenReturn(mockSomeObject);
Run Code Online (Sandbox Code Playgroud)

相同的代码对于相同类中的其他测试也可以正常工作,这些测试以相同的方式成功捕获了相同类型的对象的创建。

任何帮助表示赞赏!谢谢

java junit mockito powermock

2
推荐指数
1
解决办法
762
查看次数

标签 统计

java ×1

junit ×1

mockito ×1

powermock ×1