Я изо всех сил пытался найти очевидное решение, почему связанный код не запускает JUnit TestRules.
Я создал пример успеха, в котором выполняются TestRules, и случай отказа, который показывает ситуацию, когда TestRules не работает.
Кто-нибудь может понять, почему TestRules не подбираются? Дело не только в том, что TestRule Spring не используется. Кажется, это все 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
.
У кого-нибудь есть какие-либо идеи?