Spock为多个结果值指定数据表?

时间:2014-03-31 05:15:41

标签: spock

我有一组输入(a,b,c)和每组的输出类型。输出类型有两个字段(p,q)。我可以将输出类型字段的值指定为数据表的一部分吗?

def "test service"(int a, int b, int c) {

    setup:
         req = reqBldr(a,b,c)
         expectedRsp = rspBldr(p,q)

    when:
         rsp = service.call(req)

    then:
         expectedRsp=rsp

    where:
    a | b | c || p | q
    1 | 3 | 3 || 0 | 0
    7 | 4 | 4 || 0 | 1
    0 | 0 | 0 || 1 | 1

}

1 个答案:

答案 0 :(得分:4)

是的,你可以。正如错误消息将告诉您的那样,该方法需要声明五个或零参数(所有数据变量或无)。另一条错误消息将告诉您在断言中需要使用==而不是=。最后但并非最不重要的是,Groovy要求使用def声明局部变量。否则你应该得到MissingPropertyException