编写参数测试方法斯波克

我正在写在斯波克测试,目前,这是基本结构:编写参数测试方法斯波克

def "someTest"(String str, Class<? extends SomeClass> clazz) { 

setup:

(current implementation)

obj.get("Sample1")

obj.get("Sample2")

obj.get("Sample3")

... so on

(what I want to implement)

object.get(str)

when:

...

then:

...

}

我需要使用strclazzsetup:when:then:等我需要多次调用该方法的方法。

我已经在网上看了一些TUTS:https://www.testwithspring.com/lesson/writing-parameterized-tests-with-spock-framework/但真正对如何与非原始类型

回答:

在斯波克您提供在where:部分参数化测试值实现它不知道,作为一个ASCII '表'或列表。 Spock使用AST转换将这样一个表转换为单独的方法调用。所以它看起来很神奇。

@Unroll // formats method name. Can be on class level 

def "Name of #clazz is not #str"(String str, Class clazz) {

setup:

// TODO: real setup

str == clazz.name

// TODO: when/ then only useful for stimulus-response tests

when:

str == clazz.name

then:

str == clazz.name

// TODO: expect not needed when using when/then

expect:

str == clazz.name

where:

str | clazz

"java.lang.String" | String.class

"java.lang.Integer" | Integer.class

}

这可能看起来不喜欢它,但该方法是运行多次在值,您可以通过使用无效的值,使每个方法调用失败检查的“表”的每一行。

以上是 编写参数测试方法斯波克 的全部内容, 来源链接: utcz.com/qa/261200.html

回到顶部