Допустим есть класс A, с методом doSomething(arg:Int):Boolean, который возращает Boolean и может выбросить исключение. Код его не привожу т.к выдуманный пример.
Я хочу сделать stub этого метода. Делаю его следующим образом.
class ATest{
@Test
fun `test method`(){
val a = mock(A::class.java)
val param = 5
`when`(a.doSomething(param)).thenReturn(false)
assertFalse(a.doSomething(param))
}
}
При выполнении кода вылетает NPE. Почему так происходит? Ведь Mock это экземпляр класса, с пустой реализацией методов. По Дефолту мой метод должен вернуть false. Я дополнительно это программирую (хотя можно было и не делать) с помощью создания stub `when`(a.doSomething(param)).thenReturn(false). Откуда там взяться исключению? Он же пустой если мы создаем Mock данного класса?