问题描述
我对此完全陌生。请原谅我的知识。 所以,这是我正在测试的代码
private static void updateRules(String id) throws IOException {
// Make list
List<String> select = Arrays.asList(
ID,NAME,APP_RULES,RULE_CONFIG);
// Fetch list
List<Map<String,Object>> entries = StaticUtil.list(select,id);
// Iterate over the entries
for (Map<String,Object> obj : entries) {
// Call create
CreateStaticUtils.create();
}
}
我正在尝试模拟此函数的行为,
@RunWith(PowerMockRunner.class)
@PrepareForTest(StaticUtil.class)
class MyTest {
private Iterator<String> listIterator;
@SuppressWarnings("unchecked")
@Test
public final void testUpdateRules() throws IOException {
PowerMockito.mockStatic(StaticUtil.class);
PowerMockito
.when(StaticUtil.list(Mockito.anyListOf(String.class),Mockito.anyString()))
.thenReturn(Mockito.anyList());
PowerMockito.verifyStatic(Mockito.times(1));
listIterator = mock(Iterator.class);
when(listIterator.hasNext()).thenReturn(<**Confused here**>)
}
我不确定如何验证CreateStaticUtils.create() call inside the iterator
。
如何在内部模拟和验证相同的交互?
还,我是否也必须将其放在@PrepareForTest(CreateStaticUtils.class)
中?
请帮我吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)