【发布时间】:2016-02-23 17:03:57
【问题描述】:
我正在尝试为 spring-framework 的 v4.2.4.RELEASE 运行 gradle 测试
我正在使用 Oracle JDK 1.8.0_31 和 Gradle 2.5 运行测试
我在下面得到以下堆栈跟踪。 关于可能出现什么问题的任何线索?
[DEBUG] [TestEventLogger] org.springframework.test.context.junit4.RepeatedSpringRunnerTests > assertRepetitions[TimedRepeatedTestCase] FAILED
[DEBUG] [TestEventLogger] java.lang.AssertionError: tests failed for [class org.springframework.test.context.junit4.RepeatedSpringRunnerTests$TimedRepeatedTestCase]: expected:<3> but was:<2>
[DEBUG] [TestEventLogger] at org.junit.Assert.fail(Assert.java:88)
[DEBUG] [TestEventLogger] at org.junit.Assert.failNotEquals(Assert.java:834)
[DEBUG] [TestEventLogger] at org.junit.Assert.assertEquals(Assert.java:645)
[DEBUG] [TestEventLogger] at org.springframework.test.context.junit4.JUnitTestingUtils.runTestsAndAssertCounters(JUnitTestingUtils.java:97)
[DEBUG] [TestEventLogger] at org.springframework.test.context.junit4.RepeatedSpringRunnerTests.assertRepetitions(RepeatedSpringRunnerTests.java:92)
【问题讨论】:
-
不要使用 gradle 使用 spring 中包含的 gradle 包装器,就像您使用预期的 gradle 版本一样。 (我相信是 2.9 或 2.10,而不是 2.5)。 Spring Framework 自述文件解释了如何build from sources。
-
我在命令行上使用 spring 发行版中的 gradlew test 运行得到了相同的结果。
-
RepeatedSpringRunnerTests 通过的唯一方法是,如果我在 Eclipse 中将该类作为 JUnit 测试运行。如果我理解代码,由于测试成功/失败取决于它们的执行时间,所以我看不出 gradle / eclipse 执行之间的差异来自哪里。