How do I run test-app from within a gant script?
質問
I would like to execute some additional script steps after each test run. So basically, I would like to create a new script in grails which
- first calls the standard
test-app functional:webtest -baseUrl=http://example.com
- afterwards runs some kind of clean-up script
Now I wonder about how to call the test-app
script from within my script...
解決
The common way to do that is shown in this example:
scriptEnv = "test"
includeTargets << grailsScript("_GrailsInit")
includeTargets << grailsScript("_GrailsClean")
includeTargets << grailsScript("_GrailsTest")
target(main: "Testing app (unit coverage)") {
echo "Testing app (unit coverage)"
argsMap << ["unit":'']
argsMap << ["coverage":'']
phasesToRun = ['unit']
allTests()
}
setDefaultTarget(main)
The line grailsScript("_GrailsInit")
does the trick and inlcudes the targets of the grails scripts into the own.
You can have a look at this http://grails.org/doc/latest/guide/commandLine.html#creatingGantScripts
他のヒント
You'll need to use the execute.shell command like so:
includeTool << gant.tools.Execute
target(main: "Run script") {
execute.shell("grails test-app functional:webtest -baseUrl=http://example.com")
//Proceed with cleanup code here...
}
See http://gant.codehaus.org/Execute+Tool for more information.
所属していません StackOverflow