Unit testing Spock测试未按预期工作

Unit testing Spock测试未按预期工作,unit-testing,grails,spock,Unit Testing,Grails,Spock,我正在测试grails中的一个服务类,它给了我一个奇怪的消息,我不明白 在我的测试中我有 expect: validationRequest.every{ def result = service.validateStillageContent(it) println "\nresult ->${result}" result} instanceof ValidationResponse

我正在测试grails中的一个服务类,它给了我一个奇怪的消息,我不明白

在我的测试中我有

  expect:
        validationRequest.every{
             def result = service.validateStillageContent(it)
             println "\nresult ->${result}"
             result} instanceof ValidationResponse

 where:
       validationRequest | returnValue     | validationType
       new ValidationRequest(validationType:"serialPart")    | "OK"   |     "serialPart"
这给了我这个

Condition not satisfied: validationRequest.every{ def result =     service.validateStillageContent(it) println "\nresult ->${result}" result}
ValidationResponse | | | | true false ValidationRequest{validationType='serialPart',documentReference='null',partNumber='null',altPartNumber='null',vendorPartNumber='null',serialNumber='null',stillage='null',ducketReference='null',sequence=null}

at com.dev.SequencingServiceSpec.Test the stillage validation with various types  .. (SequencingServiceSpec.groovy:254)

|真假 ValidationRequest{validationType='serialPart',documentReference='null',partNumber='null',altPartNumber='null',vendorPartNumber='null',serialNumber='null',stillage='null',ducketReference='null',sequence=null}

at com.dev.SequencingServiceSpec.Test the stillage validation with various types  .. (SequencingServiceSpec.groovy:254)

我的表中有更多的条目,但它们都显示出相同的问题。。在我看来,服务调用会导致ValidationResponse的实例,但测试给了我一个“条件未满足”。。有人能解释一下原因吗


谢谢

这种情况似乎没有道理<代码>验证请求。每个似乎都返回一个
布尔值
,它不可能是验证响应的
实例
。我借用了验证请求。每个循环都来自。。也许我不能把这种方法应用到这件事上?你的说法是错误的。ValidationResponse的
实例需要放在花括号内。此外,没有理由首先使用
每个
,因为
验证请求
是单个元素而不是集合。您可能只想要ValidationResponse的
expect:service.validateSlageContent(validationRequest)实例。然而,就其本身而言,这是一个相当弱的断言,并且它没有使用
returnValue
validationType
。。测试本身是实际测试的精简版本(但依赖于返回类型为ValidationResponse并检查其属性-我只是认为它有点大,无法发布)。。我基于它的原始代码有效地测试了表中的所有条目并返回一个值。。另外,我的表有大约20个单独的测试,这取决于它的调用方式。。谢谢
result ->ValidationResponse{status='OK', errorMessage='null'}