使用字符串数组迭代的Groovy测试用例

时间:2012-05-11 13:47:09

标签: arrays groovy

我有一个测试用例,我需要测试多个字符串,并将它们初始化为String []

   myArray.each {
        shouldFail(IllegalArgumentException) {
            println "it = " + it
            testObj.testMyString("$prefix $it", mockBuilder);
         }
    }

print语句显示"it"为空。我做错了什么?

3 个答案:

答案 0 :(得分:3)

如果您为每个var命名,它应该有效:

myArray.each { element ->
    shouldFail(IllegalArgumentException) {
        println "it = $element"
        testObj.testMyString("$prefix $element", mockBuilder)
    }
}

答案 1 :(得分:2)

每个闭包都有自己的“它”。在你的情况下,当“它”为空时,它是shouldFail闭包的“它”而不是myArray.each的闭包。

答案 2 :(得分:0)

当我将代码更改为此

时,它有效
 myArray.each {
        def testStr = it
        shouldFail(IllegalArgumentException) {
            println "it = " + testStr
            testObj.testMyString("$prefix $testStr", mockBuilder);
         }
    }

我猜“它”在内部闭包中不可用