是否可以在Mule FunctionalTestCase中启用Spring上下文缓存?

时间:2017-12-25 11:33:48

标签: spring mule

我使用FunctionalTestCase来测试Mule ESB 3.5应用程序。

为了测试,我有一个看起来像这样的课程:

public class MyIntegrationTest extends FunctionalTestCase {

    @Override
    protected String getConfigFile()
    {
        return "app-config.xml";
    }

    @Test
    public void test1() throws Exception{
    }
    @Test
    public void test2() throws Exception{
    }
    ...
}

我注意到每个@Test方法都会重新创建应用程序上下文,测试速度相当慢。

使用简单的Spring框架,简单的集成测试会缓存应用程序上下文,因此测试速度会快得多。我想知道是否可以使用缓存的Spring应用程序上下文进行Mule应用程序集成测试?

1 个答案:

答案 0 :(得分:0)

AbstractMuleContextTestCase具有disposeContextPerClass属性。您需要将其设置为true,以便为每个测试类实现上下文缓存。首先,我浪费了一些时间尝试用@Before方法设置它,但已经太晚了。

我设法通过在测试类构造函数中使用disposeContextPerClass(true)来启用上下文缓存:

@RunWith(JUnit4.class)
public class MyIntegrationTest extends FunctionalTestCase {
    public MyIntegrationTest() {
        setDisposeContextPerClass(true);
    }
}