我想做29次,当30次调用时,请抛出/framework:".NETCoreApp,Version=v2.0"
。但我找不到任何设置TIMES属性的地方。
这是我的想象力:
ArithmeticException
但当然@Mock
DAOclass dao;
@Test(expected = ArithmeticException.class)
public void AAA() throws SQLException {
doThrow(ArithmeticException.class).when(dao,times(30)).methodABC();
for (int i = 0; i < 30; i++) {
dao.nothing();
}
}
是无稽之谈,因为我无法在阻塞时添加次数(30)作为第二个参数。
有人知道这个问题的可选解决方案是什么?
顺便说一下。我的目标绝对不是手写30次when(dao,times(30))
答案 0 :(得分:2)
您可以尝试:
when(someMock.someMethod()).thenAnswer(new Answer() {
private int count = 0;
public Object answer(InvocationOnMock invocation) {
if (count++ == 30){
...do something...
}
...do something...
}
});