如何模拟java.util.logging

时间:2016-08-01 07:57:35

标签: jmockit

我是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();
}
}

1 个答案:

答案 0 :(得分:1)

有几种方法可以测试它。我强烈建议您阅读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);
        }};
    }

}