java - 如何在 grails 2.0.3 中对服务进行单元测试?

标签 java grails groovy junit junit4

我在 grails 2.0.3 中为服务创建了一个单元测试,我想在 eclipse 中使用 junit runner 运行这个测试。当我右键单击测试类 => 调试为 => junit 测试时,我在控制台中收到以下错误消息:

Class not found myProject.ReportServiceTests
java.lang.ClassNotFoundException: myProject.ReportServiceTests
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClass(RemoteTestRunner.java:693)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.loadClasses(RemoteTestRunner.java:429)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

我在 test/unit/myProject 中的 ReportServiceTest.groovy:

package myProject

import grails.test.mixin.*
import grails.test.mixin.support.*
import org.junit.*

/**
* See the API for {@link grails.test.mixin.support.GrailsUnitTestMixin} for usage     instructions
*/

@TestFor(myProject.ReportService)
@Mock(Sale)
class ReportServiceTests {

void setUp() {
    // Setup logic here
}

void tearDown() {
    // Tear down logic here
}

void testSomething() {
    fail "Implement me"
}

void testGetSalesCompleted() {
    def salesCompleted = service.getSalesCompleted()
    if(salesCompleted.count > 0) {
        assertTrue()
    }
    fail "no sales completed"
}
}

错在哪里?预生成的 *ControllerTests.groovy 在 eclipse 中与 junit runner 一起工作得很好! 我正在使用 STS: SpringSource 工具套件

版本:2.9.2.RELEASE 内部版本号:201205071000

最佳答案

启用 Grails 单元测试与 Eclipse junit runner 一起工作的提示:只需将 @Test 注释添加到其中一个测试;

=> runner 识别类有一套测试就足够了,@TestFor 魔术将完成剩下的工作:动态地,所有方法“成为”eclipse junit runner 的测试。

关于java - 如何在 grails 2.0.3 中对服务进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11055587/

相关文章:

java - Jakarta Taglibs 的良好替代品?

unit-testing - 在域类中测试服务

Grails 从 2.2.1 升级到 2.3.4 @Secured 注解

java - 迭代并比较同一映射中的值以找到最大值并从同一映射中删除其他值

Java 匹配器在输出中返回额外的 "."

tomcat - grails 资源标签在链接中创建重复的应用程序上下文

java - 用grails编写具有加密功能的excel文件

groovy - Elasticsearch-groovy批量请求

java - 在一行中检查数组是否为空

Grails:如何将数组传递给 GSP 页面