Проверьте, был ли вызван метод без предоставления параметров - PullRequest
0 голосов
/ 19 сентября 2019

У меня есть следующий код:

class MyClass {

  def someMethods(): Unit = {
    val result1 = method1()
    val result2 = method2(result)     
  }
}

Нет. Я хочу проверить, вызваны ли method1 и method2, когда я запускаю someMethod.

class TestMyClass {

  @Test
  def testSomeMethods(): Unit = {
    val myClass = new MyClass()
    val myClassSpy = Mockito.spy(myClass)
    myClassSpy.someMethods()
    verify(myClassSpy).method1()
  }
}

Для method1 это работает,но method2 нужен параметр, предоставленный method1.Могу ли я просто сделать что-то вроде assertTrue (method2.called) ?Поскольку я не хочу проверять результат методов, я просто хочу знать, были ли они вызваны.

1 Ответ

3 голосов
/ 19 сентября 2019

Хм, используя шпиона, потому что он уже пахнет, вам не следует проверять внутренности своего класса таким образом.

В любом случае вы можете сделать Mockito.verify(myClassSpy).method2(Mockito.any()), и это бы сработало,но я бы серьезно рассмотрел ваш дизайн и мотивацию этого теста, так как он действительно кажется неправильным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...