savrov
09/11/2020, 12:43 PMabstract class A(param1: Param1, param2: Param2) {
fun foo() {
val param1result = param1.get()
val param2result = param2.get()
val result = calculateResult(param1result, param2)
}
abstract fun calculateResult(param1: Param1, param2: Param2): Smth
}
Now, I want to test it. But I can not create an instance of A, since its a abstract class. The only way I managed to make it work is to create a real A class and use spyk function:
class AReal: A {
override fun calculateResult(...) {
...
}
}
class Test {
val aReal = spyk(AReal(...., .....))
}
Is there any other better way?bbaldino
09/11/2020, 3:57 PMsavrov
09/11/2020, 11:47 PMprivate val useCase = spyk(UseCaseReal(mockk(), mockk()), recordPrivateCalls = true, block = {
coEvery { abstartFun(any()) } returns smth
})
bbaldino
09/11/2020, 11:49 PMval foo: MyAbstractClass = spyk()