Я пытаюсь проверить класс, который как два свойства с геттерами, где один геттер вызывает статический метод. Я хочу смоделировать геттер статическим методом для проверки логики синтаксического анализа другого геттера. Проблема в том, что невозможно получить доступ к переменной через геттер и, таким образом, вызвать ложный вызов.
Я искал документацию по kotlin для получения и установки, но не нашел решения.
class ClassToTest() {
val firstname: String
get() = this.fullName.split(" ")[0]
val fullName: String
get() = SomeService.getFullName()
}
class ClassToTestTest() {
fun `firstname should return first part of the fullName`() {
val classToTestMock = mock<ClassToTest>()
`when`(classToTestMock.fullName).thenReturn("Walter White")
assertEquals(classToTestMock.firstname, "Walter)
}
}
Я ожидаю, что "Уолтер" вернется, но вместо этого ClassToTest.firstName
обращается к переменной напрямую, а не к поддельному получателю.
Может ли кто-нибудь указать мне правильное направление? : D
Заранее спасибо.