簡體   English   中英

使用Maven進行Grails集成測試

[英]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 -unitgrails test-app -integration ,這可能更符合Maven的喜好。

Grails 1.x

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 2.x

在新的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM