小编Ham*_*ari的帖子

io.mockk.MockKException:无法匹配 SignedCall 的模拟签名

我在运行模拟测试(使用 mockK 和 Kotlin)时遇到问题。

我进行了一些工作单元测试。昨天我正在测试我实现的功能。但每当我尝试运行测试时,就会出现此异常:

io.mockk.MockKException: Failed matching mocking signature for
SignedCall(retValue=, isRetValueMock=true, retType=class kotlin.Unit, self=Observer(#1), method=onChanged(Any), args=[kotlin.Unit], invocationStr=Observer(#1).onChanged(kotlin.Unit))
left matchers: [any()]

    at io.mockk.impl.recording.SignatureMatcherDetector.detect(SignatureMatcherDetector.kt:99)
    at io.mockk.impl.recording.states.RecordingState.signMatchers(RecordingState.kt:39)
    at io.mockk.impl.recording.states.RecordingState.round(RecordingState.kt:31)
Run Code Online (Sandbox Code Playgroud)

此外,如果我尝试运行覆盖范围的测试,android studio 会记录这些错误:

[2021.08.24 12:05:30] (Coverage): Error during class instrumentation: kotlin.text.Regex: java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 14
[2021.08.24 12:05:31] (Coverage): Error during class instrumentation: kotlin.text.StringsKt___StringsKt: java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 14
[2021.08.24 12:05:31] (Coverage): Error during class instrumentation: kotlin.text.StringsKt__StringsKt: java.lang.StringIndexOutOfBoundsException: begin 0, end -1, length 14
[2021.08.24 12:05:31] (Coverage): Error …
Run Code Online (Sandbox Code Playgroud)

android code-coverage kotlin mockk

5
推荐指数
1
解决办法
6472
查看次数

标签 统计

android ×1

code-coverage ×1

kotlin ×1

mockk ×1