【发布时间】:2015-08-05 20:10:42
【问题描述】:
我尝试使用 spock 模拟以下课程:
final class A{
private B b
public getB(){
return b
}
public A(B b){
this.b = b
}
}
我尝试使用以下代码模拟这个类,它正在工作。
def "test"(){
def mockA = GroovyMock(A)
when:
service.x()
then:
1 * new A(*_) >> {mockA}
}
下面是我的 x() 方法:
x(){
A a = new A(b)
B b = a.getB()
}
现在我想模拟 a.getB() 以获得 B 的模拟对象。我试图为 B 创建一个模拟,但我在 a.getB() 处得到空值。是否可以模拟 getB() 方法来获取 B 的模拟对象?
所以我想做一些类似的事情
1 * a.getB() >> {mockB}
但我得到空异常
【问题讨论】: