Spock -构造函数中的通配符



我有一些像这样的类(例如在Kotlin中,但我认为这并不重要):

data class SomeClass(val a: String, val b: String, val c: String)

然后在Spock单元测试中,我想验证以SomeClass作为参数的方法是否被调用,但我只想验证一些字段,例如:

1 * someService.doSomething(new SomeClass(_, _, "specificValue"))
据我所知,我不能在构造函数中使用通配符。那么,有没有办法只验证输入对象的某些字段呢?

好的,我有答案了。解决方案是:

1 * someService.doSomething({ SomeClass input ->
input.c == "someSpecificValue"
})

最新更新