У меня есть следующий класс, который я пытаюсь издеваться, используя Spock:Mock метод на фиктивный объект в Спока
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(){
A a = new A(b)
B b = a.getB()
}
Теперь я хочу, чтобы дразнить a.getB(), чтобы получить фиктивный объект для Б. Я пытался создать макет для B, но я я получаю null на a.getB(). Можно ли издеваться над методом getB(), чтобы получить макет Object for B?
Так что я хочу сделать некоторые вещи, как
1 * a.getB() >> {mockB}
, но я получаю исключение нулевого
http://stackoverflow.com/questions/21194523/can-spock-mock-a-java-constructor –