Billy Newman
05/11/2023, 2:32 PMClass is final. Put @MockKJUnit4Runner on your test or add MockK Java Agent instrumentation to make all classes 'open'
class ClassToTest {
private fun privateMethod(text: String): String {
return "Hello $text"
}
}
class TestClass {
@Before
fun setup() {
MockitoAnnotations.openMocks(this)
}
@Test
fun testSplitNumbers() {
val clazz = spyk<ClassToTest>()
val method = clazz.javaClass.getDeclaredMethod("privateMethod", String::class.java)
method.isAccessible = true
val result = method.invoke(clazz, "Test") as? String
Assert.assertEquals("Hello Test", result)
}
}
Matt Barnard
05/11/2023, 2:42 PMBilly Newman
05/11/2023, 2:56 PMMatt Barnard
05/11/2023, 3:00 PMtestSplitNumbers
block maybe try every { clazz.privateMethod("Test") } returns "Hello Test"
Billy Newman
05/11/2023, 3:17 PMVinícius Santos
05/11/2023, 8:38 PMmock-maker-inline
?Billy Newman
05/15/2023, 2:00 PMtestImplementation 'org.mockito:mockito-inline:5.2.0'