如何模拟 java.util.logging

How to Mock java.util.logging

我是 jMockit 的新手,运行 在尝试测试 类 时遇到了麻烦,其中注入了 java.util.logger 的实例。 我已经尝试了很多想法如何做到这一点,

谁能告诉我怎么做

public class underTest {

@Inject
Logger logger;

@Inject Service service;

public void doSomeThing()
{
    logger.info("Invoking Service... ");
    service.serve();
};

}



public class TestClass
{
@Tested underTest tested;

@Test
public void howToTest()
{
    .
    ,
    .
    .
    tested.doSomeThing();
}
}

有几种方法可以测试它。我强烈建议您阅读 JMockit 的 Tutorial.

在你的情况下这应该有效:

@RunWith(JMockit.class)
public class TestFoo {

    @Injectable
    Logger logger;

    @Injectable
    Service service;

    @Tested
    private UnderTest underTest;

    @Test
    public void howToTest(){
        underTest.doSomeThing();
        new Verifications(){{
            service.serve();
            logger.info(anyString);
        }};
    }

}