LINUX.ORG.RU

История изменений

Исправление 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.

Читал вот эту статью, но она очень краткая

http://habrahabr.ru/post/137561/

Исходная версия 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.

Читал вот эту статью, но она очень краткая

http://habrahabr.ru/post/137561/