为什么我的Spring JUnit测试规则没有运行?

时间:2015-12-07 14:03:25

标签: java junit4 spring-test serenity-bdd cucumber-serenity

我一直在努力找到一个明显的解决方案,解决链接代码无法运行JUnit TestRules的原因。

我创建了一个success case,其中TestRules执行,一个failure case显示TestRules失败的情况。

是否有人能够看到为什么没有拾取TestRules?不仅仅是Spring的TestRule没有被选中。它似乎是所有TestRules,如源代码中的MyTestRule.java所示。

在成功案例中运行mvn clean install,将看到所有测试都通过。但是,在失败案例上运行mvn clean install将导致以下失败:

    Tests run: 13, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 1.9 sec <<< FAILURE! - in net.serenitybdd.demos.acceptance.CalculateResults
net.serenitybdd.demos.acceptance.CalculateResults  Time elapsed: 1.454 sec  <<< FAILURE!
java.lang.AssertionError: expected:<3> but was:<1>
        at org.junit.Assert.fail(Assert.java:88)
        at org.junit.Assert.failNotEquals(Assert.java:743)
        at org.junit.Assert.assertEquals(Assert.java:118)
        at org.junit.Assert.assertEquals(Assert.java:555)
        at org.junit.Assert.assertEquals(Assert.java:542)
        at net.serenitybdd.demos.acceptance.CalculateResults.test(CalculateResults.java:60)


Results :

Failed tests:
  CalculateResults.test:60 expected:<3> but was:<1>

Tests run: 13, Failures: 1, Errors: 0, Skipped: 0

这是Spring SpringMethodRule未被提取的结果,可以在测试类net.serenitybdd.demos.acceptance.CalculateResults中看到。

有没有人有任何想法?

1 个答案:

答案 0 :(得分:0)

似乎我正在使用Cucumber和Serenity,而Cucumber团队目前并不支持JUnit TestRules的哲学原因。这里希望他们改变主意:)

请参阅https://github.com/cucumber/cucumber-jvm/issues/894