我想窥探Spring bean的方法调用。我查了docs - Spock只能通过构造函数创建间谍。 Spock可以通过spy包装已存在的对象吗?
答案 0 :(得分:3)
似乎无法完成,因为API并不支持它。看看API。以下代码运行时出现错误:
@Grab('org.spockframework:spock-core:0.7-groovy-2.0')
@Grab('cglib:cglib-nodep:3.1')
import spock.lang.*
class Test extends Specification {
def 'test'() {
given:
def o = new Object()
def s = Spy(o)
}
}
答案 1 :(得分:0)
来自官方Spock framework documentation:
您还可以从实例化对象创建间谍。如果您无法完全控制要监视的类型的实例化,这可能会很有用。 (例如,在依赖注入框架(例如Spring或Guice)中进行测试时。)