我有一個測試的情況下,我需要測試多個字符串和它們初始化爲字符串[]Groovy的測試用例字符串數組迭代
myArray.each {
shouldFail(IllegalArgumentException) {
println "it = " + it
testObj.testMyString("$prefix $it", mockBuilder);
}
}
打印語句表明"it"
爲空。我究竟做錯了什麼?
我有一個測試的情況下,我需要測試多個字符串和它們初始化爲字符串[]Groovy的測試用例字符串數組迭代
myArray.each {
shouldFail(IllegalArgumentException) {
println "it = " + it
testObj.testMyString("$prefix $it", mockBuilder);
}
}
打印語句表明"it"
爲空。我究竟做錯了什麼?
可如果你命名你的每一個變種,它應該工作:
myArray.each { element ->
shouldFail(IllegalArgumentException) {
println "it = $element"
testObj.testMyString("$prefix $element", mockBuilder)
}
}
它工作時,我改變了代碼這個
myArray.each {
def testStr = it
shouldFail(IllegalArgumentException) {
println "it = " + testStr
testObj.testMyString("$prefix $testStr", mockBuilder);
}
}
我猜「它」是不是在內部封
每個封閉都有自己的「it」。在你的情況下,當「它」爲空時,它是shouldFail
封閉的「it」而不是myArray.each
的封閉。
這並不是說它不可用,它只是一個不同的「它」。 –