Как мне издеваться над File.copyTo в Mockito и Kotlin ⇐ Android
Как мне издеваться над File.copyTo в Mockito и Kotlin
Проще говоря, у меня есть объект File, для которого код продукта будет вызывать метод copyTo. Точно так же я ищу эквивалентную технику издевательства для File.inputStream
В модульном тесте я просто хочу, чтобы фиктивный файл и вызов copyTo не выполнялись или в лучшем случае проверялись.
Простой пример:
fun copyFileTest() { println("начать тест") valockFileSrc = макет (File::class.java) valockFileDst = макет(Файл::class.java) `когда`(mockFileSrc.exists()).doReturn(true) `when`(mockFileSrc.copyTo(any(), Any(), Any())).thenAnswer { // НЕ РАБОТАЕТ val результат = it.arguments[0] результат как файл } println("Инициализация макетов завершена") Assert.assertEquals(mockFileSrc.exists(), true) ockFileSrc.copyTo(mockFileDst, true, 0) println("тест выполнен") } При запуске модульного теста выдается следующее исключение:
Параметр, указанный как ненулевой, имеет значение null: метод kotlin.io.FilesKt__UtilsKt.copyTo, целевой параметр java.lang.NullPointerException: параметр, указанный как ненулевой, имеет значение null: метод kotlin.io.FilesKt__UtilsKt.copyTo, целевой параметр в kotlin.io.FilesKt__UtilsKt.copyTo(Utils.kt) в com.selibe.myapp.foo.WorkerTest.copyFileTest(WorkerTest.kt:121) в jdk.proxy2/jdk.proxy2.$Proxy5.processTestClass(неизвестный источник) в worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) в worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74 Я считаю, что проблема может быть связана с тем, что copyTo является функцией расширения.
Каков самый простой способ сделать copyTo неактивным в модульном тесте, который всегда будет успешным в модульном тесте?
Допускаются решения Mockito или Mockk.
Проще говоря, у меня есть объект File, для которого код продукта будет вызывать метод copyTo. Точно так же я ищу эквивалентную технику издевательства для File.inputStream
В модульном тесте я просто хочу, чтобы фиктивный файл и вызов copyTo не выполнялись или в лучшем случае проверялись.
Простой пример:
fun copyFileTest() { println("начать тест") valockFileSrc = макет (File::class.java) valockFileDst = макет(Файл::class.java) `когда`(mockFileSrc.exists()).doReturn(true) `when`(mockFileSrc.copyTo(any(), Any(), Any())).thenAnswer { // НЕ РАБОТАЕТ val результат = it.arguments[0] результат как файл } println("Инициализация макетов завершена") Assert.assertEquals(mockFileSrc.exists(), true) ockFileSrc.copyTo(mockFileDst, true, 0) println("тест выполнен") } При запуске модульного теста выдается следующее исключение:
Параметр, указанный как ненулевой, имеет значение null: метод kotlin.io.FilesKt__UtilsKt.copyTo, целевой параметр java.lang.NullPointerException: параметр, указанный как ненулевой, имеет значение null: метод kotlin.io.FilesKt__UtilsKt.copyTo, целевой параметр в kotlin.io.FilesKt__UtilsKt.copyTo(Utils.kt) в com.selibe.myapp.foo.WorkerTest.copyFileTest(WorkerTest.kt:121) в jdk.proxy2/jdk.proxy2.$Proxy5.processTestClass(неизвестный источник) в worker.org.gradle.process.internal.worker.GradleWorkerMain.run(GradleWorkerMain.java:69) в worker.org.gradle.process.internal.worker.GradleWorkerMain.main(GradleWorkerMain.java:74 Я считаю, что проблема может быть связана с тем, что copyTo является функцией расширения.
Каков самый простой способ сделать copyTo неактивным в модульном тесте, который всегда будет успешным в модульном тесте?
Допускаются решения Mockito или Mockk.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение