Я пытаюсь реализовать общую функцию, чтобы я мог вызывать ее из всех моих тестов. Я не могу заставить это работать.
Я пытаюсь издеваться над CrudRepository.save () обычным способом.
Это мой интерфейс, который я пытаюсь смоделировать
interface CompanyShareholderCertRepository: CrudRepository<CompanyShareholderCertsTable, UUID>
Все мои сущности расширяют общий базовый класс ..
class CompanyShareholderCertsTable(
.....
): BaseTable()
Я пытаюсь издеваться над метод сохранения любых репозиториев:
mockSaves(UUID.randomUUID() to companyShareholderCertRepository) // this is how I want to consume the common mocking method
fun mockSaves(vararg map: Pair<UUID, CrudRepository<out BaseTable, UUID>>) {
map.forEach { entry ->
every {
entry.second.save(any<BaseTable>()) // i get an error here
} answers {
val tx = this.arg(0) as CompanyShareholderTransactionsTable
tx.id = entry.first
tx
}
}
}
Я использую библиотеку MockK. Я получаю ошибку
Type parameter bound for S in fun <S : Nothing!> save(p0: S): S
is not satisfied: inferred type BaseTable is not a subtype of Nothing!