What is the best way to test abstract class?
let’s say I have a class A
abstract 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?