#kotlin #mocking #mockk
#котлин #осмеяние #мокк
Вопрос:
У меня есть следующий код:
class X(val path: String) { private val fileSystemHandler = FileSystemHandler(path) fun foo(a: A) { val write = BufferedWriter(fileSystemHandler.getWriter()) jacksonObjectMapper().writeValue(write, a) write.close() } }
Я проверяю это с помощью этого:
mockWriter = mockk() every { mockWriter.write(anylt;CharArraygt;()) } just runs mockkConstructor(FileSystemHandler::class) every { anyConstructedlt;FileSystemHandlergt;().getWriter() } returns mockWriter X(mockPath).foo(A("blah blah blah")) verify { mockWriter.write(mockReadData.toCharArray()) }
Тем не менее, когда я запускаю его, я получаю следующее:
Failed to store device metadata. Error: no answer found for: Writer(#1).write([ lt;data I'm writing in as part of the testgt; ])
Может ли кто-нибудь посоветовать, в чем проблема с тем, как я выложил насмешки?
Спасибо!