【问题标题】:Run all JUnit tests indepentently in Eclipse, reloading Spring context each time在 Eclipse 中独立运行所有 JUnit 测试,每次都重新加载 Spring 上下文
【发布时间】:2014-09-11 08:01:36
【问题描述】:

目标:在 Eclipse 中找到一种方法来执行 JUnit 类中的所有测试,该类在每次测试之前重新加载 Spring 上下文,而不仅仅是一次。

场景:我继承了使用 HSQL 内存数据库的 DAO 测试套件,该数据库在上下文加载时使用一些示例数据进行初始化。在运行测试时,我注意到如果执行了整个类,则所有测试都通过了。但是单独执行时,特定的测试方法会失败。显然,测试不是独立的,早期的测试正在改变数据库状态并且不会自行清理,后来的测试取决于通过。我想确定哪些测试是依赖的并且在自己运行时会失败,而不必手动执行每个测试或修改代码。

【问题讨论】:

    标签: java eclipse spring unit-testing junit


    【解决方案1】:

    你可以在你的测试类中使用@DirtiesContext

    @RunWith(SpringJUnit4ClassRunner.class)
    @ContextConfiguration(classes = { MyConf.class })
    @DirtiesContext(classMode = ClassMode.AFTER_EACH_TEST_METHOD)
    public void MyTestClass {
    

    这将在每个测试方法之后重新加载上下文。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-28
      • 2011-02-22
      • 2018-01-08
      • 2012-10-21
      • 1970-01-01
      相关资源
      最近更新 更多