Mockk - это бесплатная среда имитации с открытым исходным кодом для языка программирования Kotlin. Обладая некоторыми функциями, аналогичными Mockito и Powermock, Mockk позволяет разработчикам Kotlin имитировать функции Kotlin с помощью простого DSL, что обеспечивает простой и лаконичный код тестирования.
1 ответ

Вызов функции класса данных spyk'd

У меня есть класс данных A с функцией следующим образом: data class A(val a: String) { fun foo(b: String) = "$a, $b" } Я пытаюсь в следующем тесте: fun `whatever`() { val spy = spyk<A>() every { spy.a } returns "Tree" assertThat(spy.foo("Snake…
03 окт '18 в 23:20
1 ответ

Kotlin MockK: io.mockk.MockKException: не найден ответ для

Это мой фрагмент кода: @Test fun `request should return anon id if query param present`(@MockK(relaxed = true) req: ServerRequest) Я использую JUnit5(Юпитер). У меня есть исключение: io.mockk.MockKException: no answer found for: ServerRequest(#1).co…
24 янв '19 в 14:48
0 ответов

С помощью Mockk читать string.xml

Я новичок в модульном тестировании, и я только начал использовать Mockk, В моем коде есть одна функция, как показано ниже, которую я возвращаю при обратном вызове Fail. new NetworkException(errorCode, mContext.getString(R.string.error_code)) теперь …
13 дек '18 в 14:44
0 ответов

java.lang.IllegalStateException: не удалось найти sun.misc.Unsafe, пока @MockK

У меня возникла проблема при создании макета с использованием MockK. Я пробовал с kotlin 1.2.* Версии с MockK без Kotlin 1.3, но это также не помогло. Как я могу решить это? Это из-за OpenJDK 11, это что-то еще? Версия Java: openjdk version "11" 201…
26 окт '18 в 10:30
1 ответ

Макет проверить после задержки

Какой лучший способ verify после задержки? Например, я делаю вызов метода, который вызывает postDelayed на каком-то другом объекте, и вызов, который я хочу проверить, происходит в том run() блок. Например, с Mockito вы можете сделать следующее: veri…
24 окт '18 в 20:56
3 ответа

Как вызвать лямбда-колбэк с помощью mockk

Я создаю макет класса с mockk. На этом макете я теперь вызываю метод, который получает лямбду в качестве параметра. Эта лямбда-функция служит в качестве обратного вызова для доставки изменений состояния обратного вызова вызывающей стороне метода. cl…
07 дек '18 в 16:20
2 ответа

Кинжал не вводит активность

В настоящее время я работаю над этой статьей, пытаясь смоделировать зависимости от кинжалов в Android с Kotlin, но у меня возникли некоторые проблемы. Я получаю сообщение об ошибке, указав, что ActivityInjector не инициализирован. Что я делаю неправ…
14 дек '18 в 01:45
1 ответ

Как издеваться над вызовом kotlin.system.exitProcess

Я хочу протестировать некоторый код, который использует сторонний код, который вызывает kotlin.system.exitProcess()определяется следующим образом в стандартной библиотеке lib: @kotlin.internal.InlineOnly public inline fun exitProcess(status: Int): N…
19 дек '18 в 08:52
1 ответ

Mockk - ClassCastException при имитации окончательного класса, который реализует несколько интерфейсов

Я пытаюсь использовать макет этого класса Java: public final class HttpSecurity extends AbstractConfiguredSecurityBuilder<DefaultSecurityFilterChain, HttpSecurity> implements SecurityBuilder<DefaultSecurityFilterChain>, HttpSecurityBuild…
07 янв '19 в 11:03
2 ответа

Использование mockk для соответствия любым varargs

Я пытаюсь смоделировать контекст Android, чтобы вернуть строку из идентификатора ресурса. Однако у меня проблемы с сопоставлением заглушки с вызовом, я полагаю, что это из-за varargs. Тем не менее, я новичок в макете, поэтому я могу просто пропустит…
23 янв '19 в 12:06
0 ответов

Как смоделировать (шпионский) просмотр андроида с помощью библиотеки mockk?

В библиотеке mockk есть способ шпионить за всеми экземплярами класса. и все, что нам нужно сделать, это позвонить mockkConstructor(MyObject::class) перед созданием экземпляров. Теперь я хочу сделать это на adnroid Views (с помощью robolectric), как …
20 дек '18 в 10:52
7 ответов

Как вы Mockk функции верхнего уровня Kotlin?

Mockk позволяет высмеивать статические функции, но как можно высмеивать функцию верхнего уровня Kotlin? Например, если у меня есть файл Kotlin с именем HelloWorld.ktкак мне издеваться sayHello() функционировать? HelloWorld.kt fun sayHello() = "Hell…
19 окт '18 в 10:48
1 ответ

Можно ли сохранить уже существующие реализации интерфейса?

У меня есть такой интерфейс: interface Database { fun insertItems(items: List<ItemData>) fun deleteItems(items: List<ItemData>) fun runTransaction(alsoDelete: Boolean) { insertItems(listOf(ItemData(id = 1), ItemData(id = 2), ItemData(id …
23 апр '18 в 18:15
7 ответов

Макет статических методов Java с использованием Mockk

В настоящее время мы работаем с java с проектом kotlin, медленно переводя весь код в последний. Можно ли издеваться над статическими методами, такими как Uri.parse() с помощью Mockk? Как будет выглядеть пример кода?
10 апр '18 в 20:31
1 ответ

В чем разница между `verifySequence` и`verifyOrder` в MockK?

В руководстве по библиотеке MockK пример не проясняет это для меня. Вот пример из документации: class MockedClass { fun sum(a: Int, b: Int) = a + b } val obj = mockk<MockedClass>() val slot = slot<Int>() every { obj.sum(any(), capture(sl…
31 окт '18 в 08:52
1 ответ

Как макет функции расширения Kotlin в интерфейсе?

У меня есть функция расширения для интерфейса, как показано ниже: import javax.jms.ConnectionFactory fun ConnectionFactory.foo() { println("do some stuff") } Как я могу издеваться над функцией foo? Обратите внимание, я видел подходы для классов и об…
24 апр '18 в 21:46
4 ответа

Издеваться над частной собственностью

Допустим, у нас есть такой класс: class Whatever { private var something = false fun aMethod(): Int { return if( something ) { 1 } else { 0 } } } Согласно документации, похоже, я должен быть в состоянии сделать следующее: val classUnderTest = spyk(W…
13 июл '18 в 00:19
1 ответ

Какие зависимости требуются для импорта `io.mockk.every` при написании тестов Kotlin с Mockk?

Я пытаюсь написать тест, основанный только на testCompile group: 'io.mockk', name: 'mockk', version: '1.7.15' но в коде ниже: import io.mockk.every import io.mockk.any import io.mockk.Runs import io.mockk.impl.annotations.MockK import io.mockk.junit…
20 апр '18 в 17:11
0 ответов

Метод mockK, возвращающий интерфейс Future

Здравствуйте, у меня есть следующая проблема. Я пытаюсь смоделировать вызов внедренного исполнителя для немедленного выполнения данного Callable. Позже в тесте приводятся аргументы методов, вызываемых внутри Callable, и утверждаются аргументы. Ложны…
21 янв '19 в 10:00
0 ответов

Метод получить в android.util.LruCache не издевались

Как говорится в заголовке, я получаю исключение RunTimeException за то, что оно не дразнило LruChace.get(). Я пробовал следующее: every { LruCache<Any, Any>(any()).get(any()) }.returns(cacheKey) без результатов. Как я могу издеваться над этим …
04 фев '19 в 19:35