grails测试应用程序-覆盖率不为';t包括分叉模式下功能测试的覆盖范围

grails测试应用程序-覆盖率不为';t包括分叉模式下功能测试的覆盖范围,grails,Grails,在运行Grails测试应用程序-coverage时,我很难理解Grails分叉模式以及它如何影响代码覆盖率报告。我正在使用Grails2.3.1 我关闭了测试配置的分叉模式 grails.project.fork = [... test: false ... ] 单元测试会出现在覆盖率报告中 但是,功能测试的覆盖范围不包括在Cobertura输出中 如果我也为run选项关闭分叉模式,那么我确实可以从Cobertura报告中的功能测试中得到覆盖 问题: 为什么运行的分叉模式会影响覆盖率输出?

在运行
Grails测试应用程序-coverage
时,我很难理解Grails分叉模式以及它如何影响代码覆盖率报告。我正在使用Grails2.3.1

我关闭了测试配置的分叉模式

grails.project.fork = [... test: false  ... ]
单元测试会出现在覆盖率报告中

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

如果我也为
run
选项关闭分叉模式,那么我确实可以从Cobertura报告中的功能测试中得到覆盖

问题:

  • 为什么
    运行的分叉模式会影响覆盖率输出?嵌入的Tomcat不是也部署了相同的插装类吗

  • 是否有一种方法可以在运行应用程序时正常使用分叉模式,但在测试应用程序-功能测试附带启动时不能使用分叉模式


应在上报告问题

是的,有一种方法可以对运行应用程序使用分叉模式,但不能对测试应用程序使用分叉模式。在
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]
]
这可能不会以您希望的方式影响功能测试,但会影响其他测试

编辑:


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

我会在coverage插件中报告这个问题,但它可能最终与功能测试插件中的代码及其启动应用程序的方式有关。Changed test:false对功能测试没有帮助。这似乎是由
run
设置驱动的。有没有一种方法可以有条件地更改
运行
设置?我没有使用功能测试插件-我使用的是tests/functional下的Geb-问题不在Geb中,而是在grails测试应用程序中,它在其中内联启动应用程序“问题不在Geb中,而是在grails测试应用程序中”。我的错误。祝你好运。如果问题出在grails测试应用程序中,请在提交一份JIRA,我会看一看。