[英]Grails Integration Tests with Maven
首先,我对缺少用于实施Grails的前端测试的文档感到震惊。 GroovyPagesTestCase类使测试变得非常容易,因此很容易,FE开发人员没有理由不进行测试。 但是无论如何,这是我的问题。 在我的工作中,我与Maven一起运行Grails。 当我需要运行测试时,执行测试的唯一成功命令是:
mvn grails:test-app
然后运行所有测试。 但是,我真的想在测试驱动代码时加快速度,有人知道如何仅在这种环境中运行集成测试吗? 我自己找不到任何东西。
grails的命令是grails test-app :integration
。
鉴于此,我相信您应该能够使用grails:exec目标来运行任意命令,例如mvn grails:exec -Dcommand=test-app -Dargs=:integration
。
不太确定等号后mvn将如何处理冒号。 如果:integration
语法无法使用,您可以在:integration
周围使用双引号或双引号。
这基于http://grails.org/doc/latest/guide/commandLine.html#4.5 Ant和Maven。
更新:还支持grails test-app -unit
和grails test-app -integration
,这可能更符合Maven的喜好。
mvn -Dargs=CircleTests -Dcommand=test-app grails:exec
mvn grails:test-app will always execute all tests
最好将其与-unit
/ -integration
结合使用,以避免为其他阶段进行耗时的准备工作(示例使用名为CircleTests
的测试;将后缀放在参数中):
mvn -Dargs="-unit Circle" -Dcommand=test-app grails:exec
您可以使用模式和多个名称,以空格分隔:
mvn "-Dargs=Square Ci*le" -Dcommand=test-app grails:exec
Grails还了解特殊的-unit和-integration名称:
mvn -Dargs=-unit -Dcommand=test-app grails:exec
或运行单个方法:
mvn -Dargs=Circle.DrawSmallEllipse -Dcommand=test-app grails:exec
在新的Grails版本中,此功能不再起作用,因为grails:exec在开发模式下而不是测试模式下运行。 您现在可以执行以下任一操作:
mvn -Dgrails.cli.args="integration: Circle" grails:test-app
mvn -Dgrails.cli.args="-integration Circle" grails:test-app
mvn -Dgrails.env=test -Dargs="integration: Circle" -Dcommand=test-app grails:exec
在grails 2.x上,这最适合我:
所有集成测试:
mvn grails:exec -Dgrails.env=test -Dcommand=test-app -Dargs=:integration
单项测试班:
mvn grails:exec -Dgrails.env=test -Dcommand=test-app -Dargs=:integration -Dargs=NameOfYourIntegrationTests
测试类中的单个方法:
mvn grails:exec -Dgrails.env=test -Dcommand=test-app -Dargs=:integration -Dargs=NameOfYourIntegrationTests.testMethod
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.