【问题标题】:Why is my Spring JUnit Test Rule not running?为什么我的 Spring JUnit 测试规则没有运行?
【发布时间】:2015-12-07 14:03:24
【问题描述】:

我一直在努力寻找一个明显的解决方案来解决为什么链接代码不会运行 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中看到。

有人有什么想法吗?

【问题讨论】:

  • 在此处将代码添加为文本而不是链接。
  • 我稍微整理了一下问题,但它们是整个测试用例,因此在这种情况下添加所有相关代码没有意义。通过 github 更容易使用。

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


【解决方案1】:

看来我正在使用带有 Serenity 的 Cucumber,而 Cucumber 团队目前出于哲学原因不支持 JUnit TestRules。希望他们能改变主意:)

https://github.com/cucumber/cucumber-jvm/issues/894

【讨论】:

    猜你喜欢
    • 2014-05-24
    • 1970-01-01
    • 2011-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 1970-01-01
    相关资源
    最近更新 更多