第一次在使用 Spock 进行单元测试的 Groovy/Spring 项目上尝试 MockWebServer。
我按照指示添加了 MockWebServer 依赖项(我必须自己添加第二行以避免错误,但没有记录在案:
testImplementation("com.squareup.okhttp3:mockwebserver:4.0.0")
testImplementation("org.jetbrains.kotlin:kotlin-stdlib:1.3.40")
我有一个基本的 Spock 测试,如下所示:
def 'server'() {
setup:
MockWebServer server = new MockWebServer()
expect:
server
}
但它失败了这个输出:
java.lang.NoSuchMethodError: okhttp3.internal.Util.immutableListOf([Ljava/lang/Object;)Ljava/util/List;
at okhttp3.mockwebserver.MockWebServer.<init>(MockWebServer.kt:176)
我还缺少另一个依赖项吗? MockWebServer 不能很好地与 Groovy 和 Spock 配合使用吗?
就其值(value)而言,使用 3.1.4 版似乎有效:
testImplementation("com.squareup.okhttp3:mockwebserver:3.14.2")
(我是 MockWebServer 的第一次用户)
谢谢!
最佳答案
尝试添加这个:
testImplementation("com.squareup.okhttp3:mockwebserver:4.0.0")
testImplementation("com.squareup.okhttp3:okhttp:4.0.0")
使用 MockWebServer,您的 OkHttp 依赖项必须是相同的版本。
关于okhttp - MockWebServer:java.lang.NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56854548/