我正在对一个包含大量逻辑的方法进行单元测试。事情是这样的:
public void doSomething(int number){
//... complex logic
if (number % 2 == 0)
someInstanceObject.setOdd(false);
else
someInstanceObject.setOdd(true);
//... more complex logic and database connections
}
Mockito 是否可以在 if-else 语句之后结束方法执行?我想要这样做的原因是因为我想使用 Mockito.verify()
测试这两个条件。我希望它立即停止,因为在 if-else block 之后,会有很多需要模拟的东西,例如数据库连接。
相信我,如果我可以重构它,将 if-else 语句放在其他实用程序类中并将其公开为公共(public),我会的。但事实证明我无法再重构代码了。
最佳答案
我认为使用 Mockito 后不可能停止。你想在什么时候停止对mockito 怎么说?
但是你可以尝试一个肮脏的解决方案 - 模拟一些在 if 之后抛出异常的方法调用,然后在你的测试方法中捕获它。它将停止方法执行,并且您不必模拟所有数据库内容。
关于java - 是否可以使用 Mockito 完全停止某个方法的运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30944135/