测试运行时类路径不包含插件元数据文件 'plugin-under-test-metadata.properties'
Test runtime classpath does not contain plugin metadata file 'plugin-under-test-metadata.properties'
我正在将 gradle 版本升级到 6.8。1.For 测试目的。我在 build.gradle 中添加依赖项 testCompile gradleTestKit() 但我的集成测试用例失败并出现以下错误。
我尝试升级到 Junit 5,spock 2.0-groovy-2.5 & groovy 2.5.12.
代码:
def runner = GradleRunner.create()
.withProjectDir(this.testDir)
.withPluginClasspath()
withPluginClasspath() 方法获取异常。
测试用例:
def "Make sure a build runs successfully"() {
when:
def result = build 'compileJava'
错误:
Test runtime classpath does not contain plugin metadata file 'plugin-under-test-metadata.properties'
org.gradle.testkit.runner.InvalidPluginMetadataException: Test runtime classpath does not contain plugin metadata file 'plugin-under-test-metadata.properties'
at org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading.readImplementationClasspath(PluginUnderTestMetadataReading.java:44)
at org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading.readImplementationClasspath(PluginUnderTestMetadataReading.java:37)
at org.gradle.testkit.runner.internal.DefaultGradleRunner.withPluginClasspath(DefaultGradleRunner.java:162)
我通过在我的 src/resources 文件夹中添加 'plugin-under-test-metadata.properties' 文件解决了这个问题,因为我注意到类路径正在从 src 文件夹中读取。
我通过更改 build.gradle 中的集成测试设置解决了这个问题:
integTest {
// old code had "configurations.testRuntime" at the end
compileClasspath += sourceSets.main.output + configurations.testRuntimeClasspath
}
我正在将 gradle 版本升级到 6.8。1.For 测试目的。我在 build.gradle 中添加依赖项 testCompile gradleTestKit() 但我的集成测试用例失败并出现以下错误。 我尝试升级到 Junit 5,spock 2.0-groovy-2.5 & groovy 2.5.12.
代码:
def runner = GradleRunner.create()
.withProjectDir(this.testDir)
.withPluginClasspath()
withPluginClasspath() 方法获取异常。
测试用例:
def "Make sure a build runs successfully"() {
when:
def result = build 'compileJava'
错误:
Test runtime classpath does not contain plugin metadata file 'plugin-under-test-metadata.properties'
org.gradle.testkit.runner.InvalidPluginMetadataException: Test runtime classpath does not contain plugin metadata file 'plugin-under-test-metadata.properties'
at org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading.readImplementationClasspath(PluginUnderTestMetadataReading.java:44)
at org.gradle.testkit.runner.internal.PluginUnderTestMetadataReading.readImplementationClasspath(PluginUnderTestMetadataReading.java:37)
at org.gradle.testkit.runner.internal.DefaultGradleRunner.withPluginClasspath(DefaultGradleRunner.java:162)
我通过在我的 src/resources 文件夹中添加 'plugin-under-test-metadata.properties' 文件解决了这个问题,因为我注意到类路径正在从 src 文件夹中读取。
我通过更改 build.gradle 中的集成测试设置解决了这个问题:
integTest {
// old code had "configurations.testRuntime" at the end
compileClasspath += sourceSets.main.output + configurations.testRuntimeClasspath
}