简体   繁体   中英

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

I'm trying to add a new test case to existing test org.codehaus.groovy.grails.web.mapping.ReverseUrlMappingTests in grails-test-suite-web submodule of grails-core project.

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

I have a problem with running single test case using Gradle. When I do:

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

It ends with:

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.

This test can be run in full test cycle ./gradlew test but it's waste of the time when we wanna red-green-refactor only one simple test case. I also noticed that the same problem occurs when I try to run in the same manner spock.lang.Specification subclass test.

Here's my question: is it possible to run single grails-core test with Gradle?

It's grails-core 2.4.x branch clone

The question has been edited to indicate that the test is on the 2.4.x branch, which affects the answer. I have made relevant changes below.

Something like this will work...

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

When you do that, you are still going to be running some other tests because of the way our build is written. If you want to get rid of them you can comment out the following:

test.dependsOn execIsolatedTests

That is in grails-test-suite-web/build.gradle at https://github.com/grails/grails-core/blob/644233cfff266f391c44ef3ec56036a3b1c9bb19/grails-test-suite-web/build.gradle#L98

You could also do something like this...

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM