Grails 如何在甘特脚本中运行测试应用程序?

Grails 如何在甘特脚本中运行测试应用程序?,grails,gant,Grails,Gant,我想在每次测试运行之后执行一些额外的脚本步骤。 基本上,我想在grails中创建一个新脚本 首先调用标准的测试应用程序functional:webtest-baseUrl=http://example.com 然后运行某种清理脚本 现在我想知道如何从我的脚本中调用测试应用程序脚本…您需要像这样使用execute.shell命令: includeTool << gant.tools.Execute target(main: "Run script") { execute.

我想在每次测试运行之后执行一些额外的脚本步骤。 基本上,我想在grails中创建一个新脚本

  • 首先调用标准的
    测试应用程序functional:webtest-baseUrl=http://example.com
  • 然后运行某种清理脚本

现在我想知道如何从我的脚本中调用
测试应用程序
脚本…

您需要像这样使用execute.shell命令:

includeTool << gant.tools.Execute

target(main: "Run script") {
    execute.shell("grails test-app functional:webtest -baseUrl=http://example.com")
    //Proceed with cleanup code here...
}

includeTool您需要像这样使用execute.shell命令:

includeTool << gant.tools.Execute

target(main: "Run script") {
    execute.shell("grails test-app functional:webtest -baseUrl=http://example.com")
    //Proceed with cleanup code here...
}

includeTool此示例中显示了执行此操作的常用方法:

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)
scriptEnv=“测试”

includeTargets此示例中显示了执行此操作的常用方法:

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)
scriptEnv=“测试”

includeTargets这真的是正确的方法吗?应该有更好的方法从一个脚本中开始另一个脚本。您的解决方案将启动grails两次……有一种更好的方法可以运行另一个gant脚本,但要运行grails任务,恐怕还没有找到更好的方法。我可能错了,但这是我找到的唯一解决办法。“更好”的方法可能是编写一个内联插件,所需的工作量需要与最终目标相平衡。在我的例子中,我想用一种简单快捷的方式从命令行执行另一个grails插件。这就是我找到的解决方案。我想知道这是否会用另一个JVM和所有东西启动另一个Grails环境……我最初的答案是基于过时的代码。我相信matcauthon今天的答案是正确的。这真的是正确的方法吗?应该有更好的方法从一个脚本中开始另一个脚本。您的解决方案将启动grails两次……有一种更好的方法可以运行另一个gant脚本,但要运行grails任务,恐怕还没有找到更好的方法。我可能错了,但这是我找到的唯一解决办法。“更好”的方法可能是编写一个内联插件,所需的工作量需要与最终目标相平衡。在我的例子中,我想用一种简单快捷的方式从命令行执行另一个grails插件。这就是我找到的解决方案。我想知道这是否会用另一个JVM和所有东西启动另一个Grails环境……我最初的答案是基于过时的代码。我相信matcauthon今天的答案是正确的。