Question

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-appscript from within my script...

Was it helpful?

Solution

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

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top