在一个 where: 块中传递一个值在 Spock 测试中

在一个 where: 块中传递一个值在 Spock 测试中

问题描述:

是否可以像这样在 where 块中传递一个值.

Is it possible to pass a value in where block like this.

这个我试过了.但它失败了并给出了 MissingPropertyException.

I have tried this. But it fails and gives MissingPropertyException.

我希望 name1 和 name2 位于方法内部.

And I want the name1 and name2 to be inside the method.

def "length of names #name"()  {    
        def name1 = "Spock"
        def name2 = "Java"

        expect:
            name.size() == length

        where:
            name        || length
            name1       || 5
            name2       || 2
    }

试试这个:

def "test length of names"()  {
    expect:
        name.size() == length   
    where:
    [name,length]<<getTestData()

}

def getTestData(){
        [["Ram"  ,3 ] ,["Test" ,4] ]
    }

希望有帮助!!!

谢谢