我使用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应用程序集成测试?
答案 0 :(得分:0)
AbstractMuleContextTestCase
具有disposeContextPerClass
属性。您需要将其设置为true
,以便为每个测试类实现上下文缓存。首先,我浪费了一些时间尝试用@Before
方法设置它,但已经太晚了。
我设法通过在测试类构造函数中使用disposeContextPerClass(true)
来启用上下文缓存:
@RunWith(JUnit4.class)
public class MyIntegrationTest extends FunctionalTestCase {
public MyIntegrationTest() {
setDisposeContextPerClass(true);
}
}