2014-07-18 68 views
0

我正在尝试在grails 2.3.7中设置一个自定义测试类型,我希望它在专门调用时运行,但不能与test-app一起运行。尽可能最好地尝试遵循http://ldaley.com/post/615966534/custom-grails-test,但是这篇博文有点过时。Grails自定义测试

到目前为止,这适用于测试应用程序:回归

import org.codehaus.groovy.grails.test.junit4.JUnit4GrailsTestType 

// test-app :regression -echoOut 

eventTestPhasesStart = { phasesToRun -> 
    println("Hiiii " + phasesToRun) 
    phasesToRun << "regression" 
} 


def testTypeName = "regression" 
def testDirectory = "regression" 
def regressionTestType = new JUnit4GrailsTestType(testTypeName, testDirectory) 

regressionTests = [regressionTestType] 

如何修改这个不带任何参数调用测试应用程序时不会被调用?

回答

0

您可以使用事件中的变量argsargsMap(通过闭包代理GantBinding)。所以像这样的东西应该工作:

eventTestPhasesStart = { phasesToRun -> 
    if (!args.empty) { 
     phasesToRun << "regression" 
    } 
} 

不是100%确定它可以开箱即用。也许有其他测试选项出现在args这将打破简单的empty条件。

+0

感谢您的绑定提示,这是非常有帮助的。我最终使用了一个锁文件,这看起来很笨重。 – Ryan