2016-11-21 46 views
0

我希望我的Spring Boot测试在每次测试运行时都使用bean的新实例。我可以设置哪部分测试配置?将Spring Boot Test配置为使用单独的豆组

+0

你想使用bean的新实例或用不同的实现来替换它们吗? – pezetem

+0

每个测试只是新鲜的实例。 –

+0

我为每个测试方法需要一个bean的新实例,并且您正在使用SpringJUnit4ClassRunner,请查看@DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD) – geneqew

回答

1

您可能想看看@DirtiesContext注释。一旦bean的状态将被修改,新的上下文将提供:

有几个选项与运行,即:

  • 电流测试类之前:当在类级别与类中声明模式设置为BEFORE_CLASS
  • 在当前的测试类的每个测试方法之前:当在类级别设置为BEFORE_EACH_TEST_METHOD
  • 电流测试方法之前类模式宣称:当在与方法模式的方法级别设置为BEFORE_METHOD
  • 0123宣布
  • 电流测试方法之后:当在与设置为AFTER_METHOD
  • 在当前的测试类的每个测试方法之后法模式的方法级声明:当在类级别设置为AFTER_EACH_TEST_METHOD
  • 电流测试类之后类模式声明:当在类的级别与班级模式设置为AFTER_CLASS

进一步阅读声明,请看看: http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/test/annotation/DirtiesContext.html

0

你可以使用像Pezetem写的@DirttiesContext。

但是,如果您必须有新的bean测试实例,请尝试重构您的测试和代码,因为您可能会遇到工作应用程序的问题。