是否可以在嵌入式Tomcat中运行的webapp中模拟类?

时间:2015-05-15 14:29:10

标签: java tomcat web-applications junit jmockit

我希望能够在运行嵌入式Tomcat的JUnit测试中模拟webapp使用的类。

public interface Foo {
    void bar();
}

@RunWith(JMockit.class)
public class IntegrationTest {

    @Test
    public void mockingFoo(@Capturing final Foo foo)
            throws ServletException, LifecycleException {

        new Expectations() {{
            foo.bar(); result = new RuntimeException();
        }};

        final Tomcat tomcat = new Tomcat();

        // MyApp will invoke a Foo instance
        tomcat.addWebapp("/MyApp", "/path/to/MyApp.war");

        tomcat.start();

        /* 
        invoke the webapp (via Selenium, for example)
        The call to Foo::bar in the webapp should throw the runtime exception 
        */

        tomcat.stop();
    }
}

可以做些什么,以便通过JMockit模拟webapp中的Foo个实例?

更新 - 20150821

我还不知道问题的答案。但是,我设法mock classes in a webapp running within Jetty

0 个答案:

没有答案