我有类似以下代码的内容:
public void f() {
logger.info("some string");
}
我如何在 JMockit 中指定允许对记录器的任何调用?例如,如果有人将记录器调用更改为:
logger.finest("some string");
测试应该仍然通过。
您可以根据http://jmockit.googlecode.com/svn/trunk/www/tutorial/StateBasedTesting.html创建一个 stubbed-out 模拟类:
@MockClass(realClass = Logger.class, stubs = "", inverse = true)
static class MockLoggerStub { }
然后在运行测试之前调用它:
Mockit.setUpMocks(MockLoggerStub.class);
这将为您的测试完全排除 Logger 类。