与码头工人运行摇篮integrationTest任务时:如何解决“integrationTest NO-SOURCE”

问题描述 投票:0回答:1

我与春天有引导写了一些集成测试,并希望按需运行它们。不同时做./gradlew构建,但我想与./gradlew integrationTest运行它们。

我想运行多克尔容器内这个integrationTest任务

我已经把集成测试代码的文件夹中的src / integrationtest和创建为下面的集成 - test.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

并且还应用这个对我的build.gradle apply from: 'gradle/integration-test.gradle'

我创造了这个泊坞窗文件并把它命名Dockerfile.it:

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命令,一切都运行得很好,但是当我建立泊坞窗图像和运行从图像泊坞窗容器,实际的输出是:

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

我在想什么或做错误?

java docker gradle integration-testing
1个回答
1
投票

经过一番深入调查,我发现,我做错了一两件事,那就是,源文件夹的名字,我把它命名为integrationtest代替integrationTest在整合-test.gradle文件配置才能正常工作!

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.