我有一个演员,它从一个我想模仿的助手调用一个静态方法:
public class ExampleActor extends AbstractActor {
public Receive createReceive() {
.match(CachedFile.class, cachedFile -> {
UploadFileHelper.makeRequest(cachedFile.getContent());
return true;
});
}
}
我试着嘲笑它:
@RunWith(PowerMockRunner.class)
@PrepareForTest(UploadFileHelper.class)
public class ExampleActorTest {
@Test
public void testCreateFile() {
new TestKit(system) {{
PowerMockito.mockStatic(UploadFileHelper.class);
PowerMockito.when(
UploadFileHelper.makeRequest(any())
).thenReturn(true);
exampleActor.tell(cachedFile, getRef());
}}
}
}
但无论如何,真实的的方法被调用,而不是被模拟的方法。
为了在Akka Actor上下文中模拟静态方法,我应该做些什么改变吗?
1条答案
按热度按时间bpsygsoo1#
当我使用mockStatic时,mockStatic在
是可以的,但它不能工作在
在创建道具时只需使用CallingThreadDispatcher。
对我有用。