如何使用JMockit

时间:2017-04-15 00:21:13

标签: java unit-testing jmockit owner

我正在尝试为我的应用程序编写一些单元测试,以验证我的测试类是否正在使用应用程序配置的属性。

我们使用OWNER作为我们的属性解析,并使用JMockit作为我们的模拟框架。

我要上课的课程:

public class TestMe {
    private final MyAppConfig config = ConfigFactory.create(MyAppConfig.class);

    public void doStuff() {
        String someValue = config.getSomeValue();
        ...
    }
}

和我的测试班:

public class TestMeTest {
    @Tested
    TestMe testMe;

    @Test
    public void doStuffShouldUseTheConfiguredSomeValue(@Mocked ConfigFactory configFactory, @Mocked MyAppConfig myAppConfig) {
        new Expectations() {{
            ConfigFactory.create(MyApp.class); result = myAppConfig;
            myAppConfig.getSomeValue(); result = "foo";
        }};

        testMe.doStuff();

        new Verifications() {{
            myAppConfig.getSomeValue(); times = 1;
        }};
    }
}

然而,当我运行测试时,我的模拟ConfigFactory.create()没有被调用,并且JUnit报告:

Missing 1 invocation to:
org.aeonbits.owner.ConfigFactory#create("interface MyAppConfig", [])

有人可以举例说明模拟OWNER配置对象的正确方法吗?

0 个答案:

没有答案