我对这里发生的事情感到困惑。我正在尝试进行测试,测试addLDocument()
通过了List
的{{1}},其中String
中有10个String
。 List
有多个调用...在作为参数传递的addLDocument
中,它们通常应该有10个String
。
很显然,该测试目前应该失败(这是错误的方式),因为我目前一次只通过一个List
。目的是通过将后续String
打包成10个批次来更改代码以通过测试。
String
在我的测试中,我有这个:
for( String textLine : allTextLines ) {
List<String> textLines = []
textLines.add( textLine )
addLDocument( textLines )
}
def addLDocument( List<String> textLines ) {
...
}
...不幸的是,无论我做什么,我发现 given:
List stringVal
...
then:
1 * spyCH.addLDocument( _ ) >> {
arguments -> stringVal = arguments[ 0 ]
}
println "stringVal $stringVal size ${stringVal.size()}"
stringVal.size() == 10
then:
( 1 .. _ ) * spyCH.addLDocument( _ ) >> null
都在计算stringVal.size()
个中 个字符 的总数包含在String
中。
为什么会这样?如何强制textLines
包含一组不同的textLines
,并强制String
给出size()
中此类元素的数量?
以后
哦,亲爱的,现在令人困惑,不一致:在添加了daggett建议的行之后,我尝试了“回滚”:我该怎么做才能回到“错误的”字符计数,而不是元素计数。现在用List
替换List<String> xxx....
然后用List xxx...
替换为def xxx...
。 [哭泣]