Создание заглушек, видимых при отражении с помощью MockK - PullRequest
0 голосов
/ 25 сентября 2018

Для графиков объектов мы используем org.unitils.reflectionassert.ReflectionAssert.assertReflectionEquals в наших модульных тестах.Некоторые из объектов в графе также являются сущностями Hibernate без общедоступного установщика.

Есть ли способ создания макетов / заглушек тех сущностей, использующих MockK, свойства которых будут видны с помощью утилиты отражения?

Я прилагаю упрощенный тест ниже, который должен провалиться, но это не так.Причина в том, что оба макета при сравнении отражением рассматриваются как равные.То, как мы работаем над этим, заключается в создании заглушек с использованием отражения.Было бы здорово, если бы мы могли создавать их с помощью MockK.

class Payment(currency: CurrencyEntity)

class ReflectionEqualsTest {
    private val currencyUsd = mockk<CurrencyEntity>().apply { every { isoCode } returns "USD" }
    private val currencyEur = mockk<CurrencyEntity>().apply { every { isoCode } returns "EUR" }

    @Test
    fun reflectionEqualsTest() {
        ReflectionAssert.assertReflectionEquals(Payment(currencyUsd), Payment(currencyEur))
    }
}
...