gradle - 在 DefaultDependencyHandler 类型的对象上找不到参数 [org.hibernate:hibernate:5.3.7.FINAL] 的方法 intTestImplementation()
问题描述
我正在尝试在 Gradle 5.0 中配置集成测试。
我看到错误为
Could not find method intTestImplementation() for arguments [org.hibernate:hibernate:5.3.7.FINAL] on object of type DefaultDependencyHandler.
我可以看到intTestImplementation
当我说gradle dependencies
我正在尝试添加一个依赖项
intTestImplementation 'org.hibernate:hibernate:5.3.7.FINAL'
task integrationTest(type: Test) {
description = 'Runs integration tests.'
group = 'verification'
testClassesDirs = sourceSets.intTest.output.classesDirs
classpath = sourceSets.intTest.runtimeClasspath
shouldRunAfter test
}
sourceSets {
intTest {
java.srcDir file('src/integrationTest/java')
resources.srcDir file('src/integrationTest/resources') // to add the resources
}
}
解决方案
您可以尝试这两个选项之一,看看其中一些是否适合您:
a)您的自定义sourceSets
以这种方式声明:
sourceSets { intTest { java { srcDirs = ['src/integrationTest/java'] } resources { srcDirs = ['src/integrationTest/resources'] } compileClasspath += sourceSets.main.output + sourceSets.main.compileClasspath + sourceSets.test.compileClasspath runtimeClasspath += sourceSets.main.output + sourceSets.main.runtimeClasspath + sourceSets.test.runtimeClasspath } }
在这种情况下,您将以与测试依赖项相同的方式声明集成测试的依赖项。像这样:
testImplementation 'org.hibernate:hibernate:5.3.7.FINAL'
b)intTestImplementation
必须在您的自定义之后声明sourceSets
:
sourceSets { intTest { java { srcDirs = ['src/integrationTest/java'] } resources { srcDirs = ['src/integrationTest/resources'] } } } dependencies { intTestImplementation 'org.hibernate:hibernate:5.3.7.FINAL' }
推荐阅读
- c# - 如何从一种方法获取信息到另一种方法。C#
- c# - 某些系统上的手动 ResetEvent 缓慢 (_exitRequestEvent.WaitOne(1, false));
- javascript - 在 HTML javascript 中使用了“needs-validattion”引导程序,但它不在检查验证方法中
- python - 如何在我的投币 Python 代码中添加命令?
- r - 当从列表中调用数据框时,在 R 中的函数中使用数据框的名称作为图形标题
- swift - SwiftUI NSManagedObject 更改不会更新视图
- python - Python 正则表达式 re.findall() 仅返回一个匹配项
- python - 将字典映射到数据框中的部分字符串匹配
- javafx - TextArea JavaFX wrapText 添加换行符
- python - 根据行长在 Pandas DataFrame 中创建新行