我想在我的grails测试中使用一些JUnit 4功能,但是目前grails测试在JUnit 3下运行.JUnit 4可以在groovy中使用但是用JUnit 4替换grails中的JUnit jar似乎没有启用我正在寻找的功能。
任何人都知道如何用junit 4来运行我的测试?
答案 0 :(得分:4)
只要您使用的是Groovy 1.5+和Java 5 +,就可以将JUnit 4与Grails一起使用:
答案 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。