Kotlin проблема дженериков - PullRequest
       0

Kotlin проблема дженериков

0 голосов
/ 18 апреля 2020

Я пытаюсь реализовать общую функцию, чтобы я мог вызывать ее из всех моих тестов. Я не могу заставить это работать.

Я пытаюсь издеваться над 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!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...