grails - grails test-app -coverage不包括分支模式下的功能测试的范围

标签 grails

在运行grails test-app -coverage时,我无法理解Grails的 fork 模式及其对代码覆盖率报告的影响。我正在使用Grails 2.3.1。

我为测试配置关闭了 fork 模式

grails.project.fork = [... test: false  ... ]

单元测试将显示在覆盖率报告中。

但是,Cobertura输出中不包括功能测试的范围。

如果我也关闭了run选项的 fork 模式,那么我确实会从Cobertura报告中的功能测试中获得帮助。

问题:
  • 为什么run的 fork 模式会影响coverage输出?嵌入式Tomcat是否也部署了相同的检测类?
  • 是否可以正常使用 fork 模式运行应用程序,但是在test-app -functional附带启动测试时无法使用?
  • 最佳答案

    该问题应在https://github.com/beckje01/grails-code-coverage/issues中报告。

    是的,有一种方法可以将 fork 模式用于运行应用程序,而不能用于测试应用程序。在BuildConfig.groovy中,您可以执行以下操作:

    grails.project.fork = [
        test: false,
        run: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
        war: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256, forkReserve:false],
        console: [maxMemory: 768, minMemory: 64, debug: false, maxPerm: 256]
    ]
    

    这可能不会以您想要的方式影响功能测试,但会影响其他测试。

    编辑:

    参见https://github.com/beckje01/grails-code-coverage/issues/11

    这可能对功能测试没有帮助,可能需要作为一个单独的问题来解决。

    关于grails - grails test-app -coverage不包括分支模式下的功能测试的范围,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24759492/

    相关文章:

    grails - 使用特定的Java编译器版本构建Grails 3 War

    java - grails:无法连接到SMTP主机:*********,端口:25

    Grails:返回 404 并显示无效 id 的 'Not Found' 页面

    chalice GORM : how to access id of super class

    grails - Grails GORM加载对象集合问题

    grails - grails 2.2.2执行脚本RunApp时出错:类sun.reflect.GeneratedMethodAccessor44无法访问其父类(super class)sun.reflect.MethodAccessorImpl

    grails - grails-如何强制更新子依赖项

    sql - 在Grails中执行SQL的速度是在工作台中执行相同SQL的速度的两倍,为什么?

    java - Spring/Grails - 使用新属性重新加载 bean

    json - Grails JSON Marshaller 显示的日期值与原始日期不同