Arquillian和Spring:所有测试方法的相同应用程序上下文

时间:2013-10-07 21:50:42

标签: spring junit tomcat7 integration-testing jboss-arquillian

我有一个典型的Junit测试类,配置为使用Arquillian(1.0.4.Final)运行。在Spring 3集成Arqullian(1.0.0.Beta2)的帮助下,一个昂贵的创建,无状态资源(在我的例子中是一个')被注入到测试实例中。所有测试方法都使用该资源。执行在远程tomcat7容器中执行。集成测试由Maven Failsafe插件控制。

虽然我告诉Arquillian使用ContextLifeCycle注释分享测试方法(' x' y')之间的应用程序上下文,不仅包括新的应用程序上下文,还包括资源,对于每个测试,整个测试类也从零开始实现。

@RunWith(Arquillian.class)
@SpringConfiguration("spring.xml")
@ContextLifeCycle(ContextLifeCycleMode.TEST_CASE)
public class Test {

  @Autowired
  A a;

  @Test
  public void x() {
    // do something with 'a'
  }

  @Test
  public void y(){
    // do something with 'a'
  }
}

我读过这是JUnit的默认行为。 Arquillian Test Runner是从Junit的BlockJUnit4ClassRunner派生出来的,但是如果Arquillian不能比那更智能地配置,那么ContextLifeCycle注释适合什么(模式TEST_CASE是默认的)?

非常感谢提前! Brainfrozen

0 个答案:

没有答案