Ale*_*Man 6 java spring integration-testing gradle
我在 sourceSets 中创建了一个称为集成的自定义模块,用于保留所有集成测试用例。配置工作正常,但唯一的项目是集成文件夹中的资源文件夹不是Test Resources Root,java文件夹也不是Test Sources Root。我希望集成文件夹 java 和 resources 看起来与测试模块完全相同,如下所示。
在上图中,如果您观察到测试文件夹下的java文件夹呈绿色,但集成文件夹下的java文件夹呈蓝色。
我例外的是:我希望集成文件夹中的java和resources文件夹看起来与测试文件夹中的完全相同。IE。如果您在屏幕截图中观察到,我的主文件夹和集成文件夹看起来完全相同。但我希望集成文件夹使其看起来与测试文件夹完全相同
我的 gradlesourceSets看起来像这样
sourceSets {
integration {
compileClasspath += sourceSets.main.output
runtimeClasspath += sourceSets.main.output
}
}
Run Code Online (Sandbox Code Playgroud)
在 IntelliJ 中,我可以通过右键单击集成>java文件夹将目录设为>测试源根来更改它
和
集成>资源文件夹将目录设为>测试资源根
但我想知道如何通过 build.gradle 实现这一点
谁能帮我解决这个问题
小智 5
添加集成测试模块
\n\xe2\x86\x92 https://ryanharrison.co.uk/2018/07/25/kotlin-add-integration-test-module.html
\n要添加 testIntegration 模块,您可以对 build.gradle 文件进行一些编辑以定义新的源集(IntelliJ 模块):
\nsourceSets {\n testIntegration {\n java.srcDir \'src/testIntegration/java\'\n kotlin.srcDir \'src/testIntegration/kotlin\'\n resources.srcDir \'src/testIntegration/resources\'\n compileClasspath += main.output\n runtimeClasspath += main.output\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n您还必须定义一个新任务来运行集成测试,将其指向 testIntegration 源集的类和类路径,而不是从 test 继承的默认值:
\nconfigurations {\n testIntegrationImplementation.extendsFrom testImplementation\n testIntegrationRuntime.extendsFrom testRuntime\n}\n\ntask testIntegration(type: Test) {\n testClassesDirs = sourceSets.testIntegration.output.classesDirs\n classpath = sourceSets.testIntegration.runtimeClasspath\n}\nRun Code Online (Sandbox Code Playgroud)\n如果您使用 \xe2\x80\x98 自动创建空内容根目录的选项运行 Gradle\xe2\x80\x99,您应该会看到创建了一个新模块。不过,您可能会注意到一个问题,新模块未在 IntelliJ 中标记为测试模块。您可以手动执行此操作,但每次 Gradle 运行时都会重置。要覆盖此设置,您可以应用 idea 插件并添加新源集的源目录:
\nidea {\n module {\n testSourceDirs += project.sourceSets.testIntegration.java.srcDirs\n testSourceDirs += project.sourceSets.testIntegration.kotlin.srcDirs\n testSourceDirs += project.sourceSets.testIntegration.resources.srcDirs\n }\n}\nRun Code Online (Sandbox Code Playgroud)\n
您想在资源文件夹图标上显示这个红绿箭头符号吗?在Eclipse中,您只需将integration源集重命名为integrationTest,Eclipse gradle 插件就会相应地解释该名称。
在IntelliJ中,您必须应用 gradle插件并进行如下idea设置:testSrcDirs
apply plugin: 'java'
sourceSets {
integration
}
apply plugin: 'idea'
idea {
module {
testSourceDirs += project.sourceSets.integration.java.srcDirs
testSourceDirs += project.sourceSets.integration.resources.srcDirs
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2652 次 |
| 最近记录: |