【发布时间】:2011-01-26 05:08:56
【问题描述】:
当我尝试在 IntelliJ IDEA 中运行以下测试时,我收到消息:
"!!! JUnit 版本 3.8 或更高版本:"
需要注意的是,这是我在 IntelliJ IDEA 9 中进行的 Android 项目。
public class GameScoreUtilTest {
@Test
public void testCalculateResults() throws Exception {
final Game game = new Game();
final Player player1 = new Player();
{
final PlayedHole playedHole = new PlayedHole();
playedHole.setScore(1);
game.getHoleScoreMap().put(player1, playedHole);
}
{
final PlayedHole playedHole = new PlayedHole();
playedHole.setScore(3);
game.getHoleScoreMap().put(player1, playedHole);
}
final GameResults gameResults = GameScoreUtil.calculateResults(game);
assertEquals(4, gameResults.getScore());
}
}
完整的堆栈跟踪如下所示...
!!! JUnit version 3.8 or later expected:
java.lang.RuntimeException: Stub!
at junit.runner.BaseTestRunner.<init>(BaseTestRunner.java:5)
at junit.textui.TestRunner.<init>(TestRunner.java:54)
at junit.textui.TestRunner.<init>(TestRunner.java:48)
at junit.textui.TestRunner.<init>(TestRunner.java:41)
at com.intellij.rt.execution.junit.JUnitStarter.junitVersionChecks(JUnitStarter.java:152)
at com.intellij.rt.execution.junit.JUnitStarter.canWorkWithJUnitVersion(JUnitStarter.java:136)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:110)
Process finished with exit code -3
【问题讨论】:
-
Intellij 9,最新补丁。
-
老实说,我最终决定在 IntelliJ 中使用 Android 插件,然后硬着头皮使用最新的 Android Studio。一切都很好
-
以防其他人来到这里,而他们的测试类名称中没有“测试”;您应该添加“测试”兄弟。将您的类命名为“GameEngine”会导致相同的错误,您可以通过将其设置为“GameEngineTest”来解决它。干杯!
标签: java android junit intellij-idea