在运行grails test-app -coverage
时,我无法理解Grails的 fork 模式及其对代码覆盖率报告的影响。我正在使用Grails 2.3.1。
我为测试配置关闭了 fork 模式
grails.project.fork = [... test: false ... ]
单元测试将显示在覆盖率报告中。
但是,Cobertura输出中不包括功能测试的范围。
如果我也关闭了
run
选项的 fork 模式,那么我确实会从Cobertura报告中的功能测试中获得帮助。问题:
run
的 fork 模式会影响coverage输出?嵌入式Tomcat是否也部署了相同的检测类? 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/