在grails中使用junit 4

时间:2009-02-07 12:08:22

标签: testing grails junit

我想在我的grails测试中使用一些JUnit 4功能,但是目前grails测试在JUnit 3下运行.JUnit 4可以在groovy中使用但是用JUnit 4替换grails中的JUnit jar似乎没有启用我正在寻找的功能。

任何人都知道如何用junit 4来运行我的测试?

4 个答案:

答案 0 :(得分:4)

只要您使用的是Groovy 1.5+和Java 5 +,就可以将JUnit 4与Grails一起使用:

http://groovy.codehaus.org/Using+JUnit+4+with+Groovy

答案 1 :(得分:4)

从Grails 1.3.6开始,看起来Junit 4支持不完整。 Junit 4中的集成测试很好,但是扩展GrailsUnitTestCase的单元测试仅限于Junit 3. GrailsUnitTestCase扩展了GroovyTestCase,它仍然与Junit 3绑定。

在Groovy doc(http://groovy.codehaus.org/Using+JUnit+4+with+Groovy)中,它表示支持Junit 4,但请注意语句“目前,没有特殊的Groovy扩展名JUnit 4“。所以你可以使用它,但没有一个Groovy测试扩展利用它。

这是需要使用任何Grails测试扩展(如mockDomain)的单元测试的杀手锏。我正在假设我实际上已经遇到了Junit 3。

答案 2 :(得分:1)

从Grails 1.3M1开始,JUnit 4在板上:http://www.grails.org/1.3-M1+Release+Notes

答案 3 :(得分:0)

Grails不支持JUnit 4.它们是looking into supporting it in Grails 1.3。您可以强制依赖JUnit 4,但Grails工具可能会忽略您的测试,错误地运行它们,或者您可能会看到其他奇怪的副作用。

要强制使用JUnit 4依赖项(风险自负),请打开 grails-app / conf / BuildConfig.groovy 文件。在该文件中,修改依赖项继承部分以包含以下内容:

inherits("globals") { 
  excludes "junit" 
}

dependencies { 
  test "junit:junit:4.7" 
}

然后,在SpringSource Tool Suite中,右键单击您的项目并选择Grails Tools - >刷新依赖关系。这应该替换你的Grails依赖关系中的junit 3.8.1和junit 4.7。