簡體   English   中英

如何使用Gradle在grails-core項目中運行單個測試?

[英]How to run single test in grails-core project using Gradle?

我正在嘗試在grails-core項目的grails-test-suite-web子模塊中的現有測試org.codehaus.groovy.grails.web.mapping.ReverseUrlMappingTests中添加新的測試用例。

https://github.com/grails/grails-core/blob/master/grails-test-suite-web/src/test/groovy/org/grails/web/mapping/ReverseUrlMappingTests.groovy

我在使用Gradle運行單個測試用例時遇到問題。 當我做:

./gradlew -Dtest.single=ReverseUrlMappingTests :grails-test-suite-web:test

它的結尾是:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> Could not find matching test for pattern: ReverseUrlMappingTests

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

該測試可以在整個測試周期./gradlew test運行,但是當我們只想對一個簡單的測試用例進行紅綠重構時,就浪費了時間。 我還注意到,當我嘗試以相同的方式運行spock.lang.Specification子類測試時,會發生相同的問題。

這是我的問題:是否可以使用Gradle運行單個grails-core測試?

這是grails-core 2.4.x分支克隆

已對問題進行了編輯,以指示測試在2.4.x分支上,這會影響答案。 我在下面做了相關的更改。

這樣的事情會起作用...

 ./gradlew :g-t-s-w:test --tests *ReverseUrlMappingTests*

當您這樣做時,由於構建的編寫方式,您仍將要運行其他測試。 如果要擺脫它們,可以注釋掉以下內容:

test.dependsOn execIsolatedTests

那是在https://github.com/grails/grails-core/blob/644233cfff266f391c44ef3ec56036a3b1c9bb19/grails-test-suite-web/build.gradle#L98的 grails-test-suite-web/build.gradle

你也可以做這樣的事情...

./gradlew -DsingleTest.single=ReverseUrlMappingTests grails-test-suite-web:singleTest

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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