[英]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.