当前位置: 首页 > 知识库问答 >
问题:

使用Docker运行Gradle integrationTest任务时如何修复“:integrationTest NO-SOURCE”

相野
2023-03-14

我有一些用Spring Boot编写的集成测试,希望按需运行它们。不是在做的时候/gradlew构建,但我想用它运行/gradlew集成测试。

我想在Docker容器内运行此integrationTest任务

我已经将集成测试代码放在文件夹src/Integrationtest中,并创建了如下integration-test.gradle文件:[我正在使用Gradle 5.2]

sourceSets {
    integrationTest {
        compileClasspath += sourceSets.main.output
        runtimeClasspath += sourceSets.main.output
        resources.srcDir file('src/integrationtest/resources')
    }
}

configurations {
    integrationTestImplementation.extendsFrom testImplementation
    integrationTestRuntimeOnly.extendsFrom testRuntimeOnly
    integrationTestAnnotationProcessor.extendsFrom testAnnotationProcessor
}

idea {
    module {
        testSourceDirs += sourceSets.integrationTest.java.srcDirs
        testResourceDirs += sourceSets.integrationTest.resources.srcDirs
        scopes.TEST.plus += [configurations.integrationTestCompile]
    }
}

task integrationTest(type: Test) {
    description = 'Runs the integration tests.'
    group = 'verification'
    testClassesDirs = sourceSets.integrationTest.output.classesDirs
    classpath = sourceSets.integrationTest.runtimeClasspath
    outputs.upToDateWhen { false }
    shouldRunAfter test
}

check.dependsOn -= integrationTest

并将其应用于我的构建。梯度<代码>应用自:'梯度/集成测试。渐变“

我创建了这个docker文件,并将其命名为Dockerfile。信息技术:

FROM openjdk:8u191-jdk-alpine as build
ENV APP_WORKSPACE=/workspace/app/
WORKDIR $APP_WORKSPACE
COPY gradlew .
COPY gradle gradle
COPY build.gradle settings.gradle $APP_WORKSPACE
COPY lombok.config lombok.config
COPY src src
ENV GRADLE_OPTS -Dorg.gradle.daemon=false
ENV AWS_ACCESS_KEY_ID="aws-access-key-id"
ENV AWS_SECRET_ACCESS_KEY="aws-secret-access-key"
ENV AWS_REGION="us-west-2"
ENTRYPOINT ["./gradlew", "integrationTest"]

当我运行命令时/gradlew integrationTest直接在我的终端上的项目文件夹中进行,一切正常,但当我构建Docker映像并从该映像运行Docker容器时,实际输出是:

Downloading https://services.gradle.org/distributions/gradle-5.2-bin.zip
....................................................................................................................................................................................
Unzipping /root/.gradle/wrapper/dists/gradle-5.2-bin/2di47o96ob6dhysr22jutthm6/gradle-5.2-bin.zip to /root/.gradle/wrapper/dists/gradle-5.2-bin/2di47o96ob6dhysr22jutthm6
Set executable permissions for: /root/.gradle/wrapper/dists/gradle-5.2-bin/2di47o96ob6dhysr22jutthm6/gradle-5.2/bin/gradle
> Task :compileJava
> Task :processResources
> Task :classes
> Task :compileIntegrationTestJava NO-SOURCE
> Task :processIntegrationTestResources NO-SOURCE
> Task :integrationTestClasses UP-TO-DATE
> Task :integrationTest NO-SOURCE

BUILD SUCCESSFUL in 3m 54s
2 actionable tasks: 2 executed

这些台词是我的问题:

Task :compileIntegrationTestJava NO-SOURCE  
Task :processIntegrationTestResources NO-SOURCE  
Task :integrationTestClasses UP-TO-DATE  
Task :integrationTest NO-SOURCE

我遗漏了什么或做得不对?

共有1个答案

徐德海
2023-03-14

经过进一步的调查,我发现我做错了一件事,那就是源文件文件夹的名称,我在集成测试中将其命名为integrationtest,而不是integrationtest。gradle文件正常工作!

 类似资料:
  • 问题内容: 如果我使用命令运行redis:alpine Docker映像 我看到一些警告: 我已尝试使用以下方法修复前两个警告: 我的本地文件包含单个条目,其中包含行。但是,在构建和运行容器时,我仍然收到相同的警告。 我如何摆脱这些警告?(在https://www.techandme.se/performance-tips-for-redis-cache- server/中 提到了这些问题,但是在

  • null 请访问https://help.gradle.org获取更多帮助 在13M 30s运行分级任务“组装发布”时生成失败...正在运行分级任务“汇编发布”...已完成845,3S分级任务AssemblereRease失败,退出代码为%1

  • 我在Android Studio上出错了。错误:任务“:app:ProcessDebugManifest”执行失败。 清单合并失败:来自AndroidManifest.xml:28:9-52的属性Application@Theme Value=(@style/AppTheme.NOActionBar)也存在于[:AdGateMediaSDK:]AndroidManifest.xml:19:9-40

  • 我目前正在使用Cordova CLI和Android cmdline工具,当我运行Cordova build生成apk时,会出现这个错误。 任务': app: Process DebugResources'执行失败。 执行com.android.build.gradle.internal.tasks.Workers$ActionFacade时出错 Android资源链接失败/home/user/.

  • 这种方法很不一致。我肯定这不是实现这一点的正确方法。

  • 我有一大堆Scalaz任务。创建方式如下: 我希望这些任务并行运行。以随机顺序打印数字,不要花5秒钟(每个任务有50个任务和100毫升睡眠)。 但是,很明显,每个任务需要100毫秒,所有任务都需要5秒钟,并且创建的列表是有序的。 如何并行运行它们?任务在哪里运行线程?