Я пытаюсь проверить функцию kotlin в параметре в модульном тесте, но не удалось.Вот мой код
Модульный тест:
verify(moveToNextStepUseCase).execute(validateStepAssemblyUseCase.validate(ID),
{ view.showCompleteAssemblyConfirmDialog(type) },
{ view.showCompleteAssemblyErrorDialog() })
Мой moveToNextStepUseCase
код:
interface MoveToNextStepUseCase {
fun execute(validator: () -> Observable<Boolean>, successAction: () -> Unit, errorAction: () -> Unit)
}
Мой телефонный код:
moveToNextStepUseCase.execute(
validateStepAssemblyUseCase.validateMissingAssembly(assignmentId),
{ view.showCompleteAssemblyConfirmDialog(currentStepId) },
{ view.showCompleteAssemblyErrorDialog() }
)
Но я получил ошибку после запуска теста:
Argument(s) are different! Wanted:
moveToNextStepUseCase.execute(
Function0<io.reactivex.Observable<java.lang.Boolean>>,
(move next assembly step incomplete case$1) Function0<kotlin.Unit>,
(move next assembly step incomplete case$2) Function0<kotlin.Unit>
);
Actual invocation has different arguments:
moveToNextStepUseCase.execute(
Function0<io.reactivex.Observable<java.lang.Boolean>>,
() Function0<kotlin.Unit>,
() Function0<kotlin.Unit>
);
Кто-нибудь знает, почему параметр пустой в фактическом вызове?()