Articles of Mockito

Как назвать конкретную лямбду в макет класса?

У меня есть следующий текстовый файл с параметрами: @Test fun lostClick() { //setup parameters val func0 : (Unit) -> Unit = { println("fun0")} val func1 : (String) -> Unit = { println("fun1")} val func2 : (Int) -> Unit = { println("fun2")} whenever(deviceInteractor.reserveBadCaseDevice( //equals `when` eq(workerId), eq(DeviceCondition.LOST), eq(func0), eq(func1), eq(func2))).then({ func0.invoke(Unit) }) presenter.lostClick() //view reaction verify(viewState).showLoad(true) […]

Использование Mockito, Как мне отобразить класс Kotlin с декларацией поля интерфейса val?

Я пытался проверить класс api клиента retrofit в Kotlin, используя Mockito в Android, который выглядит так: class SomeApiClient : SomeApi { private val service: SomeApiService constructor(service: SomeApiService) { this.service = service } } он реализует интерфейс SomeApi и содержит один интерфейс для SomeApi качестве параметра конструктора. При spy классах с Mockito классы должны иметь конструкторы […]

Анонимный параметр функции Kotlin

В соответствии с тестированием модуля Kotlin для параметра функции и объекта мы можем проверить функциональную переменную funcParam , так как она является переменной функции объекта. Однако, если код написан с использованием параметра анонимной / вложенной функции (что является очень приятной функцией Kotlin, которая позволяет нам исключить ненужную временную переменную для нее) … class MyClass1(val myObject: […]

Как вручную подключить Kotlin fun с помощью <reified T: Any>

У меня есть тест прохождения ниже, который использует встроенную забаву. class SimpleClassTest { private inline fun <reified T: Any> anyObject(): T { return Mockito.anyObject<T>() } lateinit var simpleObject: SimpleClass @Mock lateinit var injectedObject: InjectedClass @Before fun setUp() { MockitoAnnotations.initMocks(this) } @Test fun testSimpleFunction() { simpleObject = SimpleClass(injectedObject) simpleObject.simpleFunction() verify(injectedObject).settingDependentObject(anyObject()) } } Но теперь я хочу […]

MissingMethodInvocationException тестирование открытого класса в Котлине

Я пытаюсь сделать некоторые интеграционные тесты с Kotlin + RxJava и MockWebServer. Я новичок в плане тестирования, и я ученик Котлин. Я знаю об ограничениях Mockito и финальных классов, но я не должен издеваться над классом, который я пытаюсь проверить, поэтому я не знаю, где реальная проблема: Ошибка следующая: Apr 16, 2016 9:59:49 PM okhttp3.mockwebserver.MockWebServer$3 […]

Захват ArgumentCaptor, возвращающий значение null

У меня есть ситуация, когда мне нужно проверить один объект, который создается внутри общедоступного метода, и у меня нет доступа к нему, поэтому я пытаюсь использовать ArgumentCaptor . Проблема в том, что я всегда получаю null . Вот мой код, поэтому было бы более очевидно, что я делаю неправильно: class ActivityStarterClass(val c: Context) { public […]

смеющийся отложенный ответ сервера

У меня есть следующие модели Json: /** * Json model of room response */ open class JsonRoom(val BookingData: JsonRoomBookingData, val GeneralData: JsonRoomGeneralData) /** * Json model of room booking data */ open class JsonRoomBookingData(val BookingId: Int, val BookingStatus: Int, val RoomId: Int, val RoomName: String, val TimeFrom: Date, val TimeTo: Date, val TimeFromUtc: Date, val […]

Предоставлять насмешливый объект другому конструктору конструктивного объекта?

Первоначальное модульное тестирование и использование Mockito. Я не уверен, думаю ли я об этом правильно. Вот ситуация: В моем приложении для Android я использую Model-View-Presenter. Я пытаюсь проверить метод в моем классе презентатора под названием validateCredential(serviceManager: ServiceManager, email: String, password: String) чтобы узнать, будет ли диспетчер службы, который я передаю ему, в конечном итоге вызвать […]

Отказываясь от ответов API с помощью Mockito

вот часть кода от ведущего fun getCustomers (pageNumber: Int?) { api.getCustomers(Constants.Pagination.PAGE_SIZE.toString(),pageNumber.toString()) .enqueue(object : Callback<com.ecm.realpad.contacts.network.model.Customers> { override fun onResponse(call: Call<Customers>, response: Response<Customers>) { val customers = response.body() response.body()?.let { if (pageNumber == Constants.Pagination.START_PAGE) { customers?.let { customersData = it } } else { customers?.let { view?.render(CustomersModel.GoToCustomersNextData(it)) } } } ?: run { view?.render(ErrorModel.ErrorState()) } } override […]

NoSuchMethodError: Нет статического метода beforeCheckcastToFunctionOfArity

У меня есть тесты для моего приложения для Android, написанного на Java с помощью JUnit4 , Mockito и Espresso . Я попытался преобразовать их в Kotlin , но мои тесты терпят неудачу с этим Исключением: java.lang.NoSuchMethodError: No static method beforeCheckcastToFunctionOfArity(Ljava/lang/Object;I)Ljava/lang/Object; in class Lkotlin/jvm/internal/TypeIntrinsics; or its super classes (declaration of 'kotlin.jvm.internal.TypeIntrinsics' appears in /data/app/com.takhfifan.takhfifan-2/base.apk) at com.takhfifan.takhfifan.activity.AddressSelectActivityTest$configApiToReturnAddresses$1.answer(AddressSelectActivityTest.kt:131) […]