我有一些像这样的类(例如在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"
})