История изменений
Исправление Bioreactor, (текущая версия) :
Я упростил Ваш пример.
public class A {
def m() {
println "A"
}
}
public class C {
def m() {
println "C"
}
}
class TestMe extends spock.lang.Specification {
def "Delegate me"() {
given:
A a = new A()
def c = Mock(C)
c.m() >> { a.m() }
when:
c.m()
then:
1 * c.m()
1 * a.m()
}
}
Получается
JUnit 4 Runner, Tests: 1, Failures: 1, Time: 141
Test Failure: Delegate me(TestMe)
Too few invocations for:
1 * a.m() (0 invocations)
Unmatched invocations (ordered by similarity):
None
at org.spockframework.mock.runtime.InteractionScope.verifyInteractions(InteractionScope.java:78)
at org.spockframework.mock.runtime.MockController.leaveScope(MockController.java:76)
at TestMe.Delegate me(TestMe.groovy:11)
Т.е.
проходит c.m()
и не проходит a.m()
Я только начал изучать spock, мне понравилось, но многие вещи непонятны, даже после работы с EasyMock.
Читал вот эту статью, но она очень краткая
Исходная версия Bioreactor, :
Помогите, пожалуйста, нубу
Я упростил Ваш пример.
public class A {
def m() {
println "A"
}
}
public class C {
def m() {
println "C"
}
}
class TestMe extends spock.lang.Specification {
def "Delegate me"() {
given:
A a = new A()
def c = Mock(C)
c.m() >> { a.m() }
when:
c.m()
then:
1 * c.m()
1 * a.m()
}
}
Получается
JUnit 4 Runner, Tests: 1, Failures: 1, Time: 141
Test Failure: Delegate me(TestMe)
Too few invocations for:
1 * a.m() (0 invocations)
Unmatched invocations (ordered by similarity):
None
at org.spockframework.mock.runtime.InteractionScope.verifyInteractions(InteractionScope.java:78)
at org.spockframework.mock.runtime.MockController.leaveScope(MockController.java:76)
at TestMe.Delegate me(TestMe.groovy:11)
Т.е.
проходит c.m()
и не проходит a.m()
Я только начал изучать spock, мне понравилось, но многие вещи непонятня, даже после EasyMock.
Читал вот эту статью, но она очень краткая