如何使用JUnit 4配置IntelliJ以运行测试?

时间:2010-05-08 14:23:53

标签: intellij-idea groovy junit junit4

应该很简单,但我无法理解。

在IntelliJ中运行我的单元测试时,我找不到告诉IntelliJ-9.0应该使用JUnit4而不是JUnit3 的方法。

当测试失败时,IntelliJ控制台显示:

  

MyTests.testConstraints(MyTests.groovy:20)

     

...

     

com.intellij。的 junit3.JUnit3IdeaTestRunner .doRun(JUnit3IdeaTestRunner.java:108)   在   com.intellij。的 junit3.JUnit3IdeaTestRunner .startRunnerWithArgs(JUnit3IdeaTestRunner.java:42)   ...

你知道如何用JUnit4替换JUnit3吗?

7 个答案:

答案 0 :(得分:9)

您可以使用注释来注释您的测试类,以指示它将使用的运行商的junit

@RunWith(JUnit4.class) MyTestClass {} 

答案 1 :(得分:8)

我找到了它!

  1. 转到“运行/调试配置”
  2. 添加新配置并选择JUnit
  3. 在配置选项卡中,将“-junit4”添加到“测试运行参数”输入字段
  4. 那已经完成了!

答案 2 :(得分:2)

我试着说:

@RunWith(JUnit4.class) 

在测试开始时。 IntelliJ对此抱怨,但要求'加载'JUnit4.class。 所以我删除了@RunWith(JUnit4.class)。 但“加载”似乎已经解决了问题 - @Ignore现在得到了尊重!

答案 3 :(得分:0)

将JUnit 4 JAR放入CLASSPATH中,看看IntelliJ是否选择了它。

JUnit插件似乎运行版本3或4.

我敢打赌,这与你编写JUnit测试的方式有关。发布一个确认。如果您使用JUnit 4样式,我敢打赌IntelliJ会正确运行它。

答案 4 :(得分:0)

'com.intellij.junit3'包属于IDEA二进制文件,而不属于junit3或junit4。因此,问题本身似乎是不正确的 - 如果IDEA代码库正确执行测试,内部使用的包名称没有区别。

答案 5 :(得分:0)

听起来真正的问题可能是您尝试使用junits 4且grails版本低于1.3。 Grails 1.2.x及更低版仅支持Junit 3测试。 Grails 1.3最终将获得junit 4支持。这在stackoverflow link text

上讨论过

答案 6 :(得分:0)

我在10.5中的java应用程序遇到了同样的问题,结果是我的Project语言级别设置为5.0而不是8.0。

要更改此内容,请转到文件 - >项目结构 - >项目 - >项目语言级别

并将其更改为所需级别。不确定在哪个级别可以使用JUnit4,但将其设置为5.0将使其使用JUnit3。将其设置为8.0使其使用JUnit4