首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当将TestNG与IDEA和Gradle一起使用时,TestNG库和测试源不被识别,从而导致测试无法运行。

当将TestNG与IDEA和Gradle一起使用时,TestNG库和测试源不被识别,从而导致测试无法运行。
EN

Stack Overflow用户
提问于 2020-07-27 18:13:56
回答 1查看 570关注 0票数 1

我有下面的build.gradle

代码语言:javascript
运行
复制
buildscript {
    ext {
        picocli = '4.3.2'
        janino = '3.1.2'
        questdb = '5.0.1'
        babl = '0.4.1'
        pac4j = '4.0.2'
        eclipse_collections = '10.2.0'
        logback = '1.2.3'
        junit = '4.12'
        testng = '7.1.0'
        kotlin_version = '1.3.72'
    }

    repositories {
        mavenLocal()
        mavenCentral()
        google()
        jcenter()
    }

    dependencies {
    }
}

plugins {
    id 'java'
    id 'org.jetbrains.kotlin.multiplatform' version "$kotlin_version"
}

apply from: 'activej.gradle'
apply from: 'pac4j.gradle'
apply from: 'kotlin.gradle'

description '...'

java {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11
}

kotlin {
    jvm {
        withJava()
    }
}

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).all {
    sourceCompatibility = JavaVersion.VERSION_11
    targetCompatibility = JavaVersion.VERSION_11

    kotlinOptions {
        jvmTarget = '11'
        apiVersion = '1.3'
        languageVersion = '1.3'
    }
}

test {
    // enable TestNG support (default is JUnit)
    useTestNG()

    // show standard out and standard error of the test JVM(s) on the console
    testLogging.showStandardStreams = true

    // Fail the 'test' task on the first test failure
    failFast = false

    //we want display the following test events
    testLogging {
        events "PASSED", "FAILED", "SKIPPED"
    }
}

dependencies {
    implementation group: 'info.picocli', name: 'picocli', version: "$picocli"

    implementation group: 'org.codehaus.janino', name: 'janino', version: "$janino"

    implementation group: 'org.questdb', name: 'core', version: "$questdb"

    implementation group: 'com.aitusoftware', name: 'babl', version: "$babl", ext: 'pom'

    implementation group: 'org.eclipse.collections', name: 'eclipse-collections-api', version: "$eclipse_collections"
    implementation group: 'org.eclipse.collections', name: 'eclipse-collections', version: "$eclipse_collections"

    implementation group: 'ch.qos.logback', name: 'logback-classic', version: "$logback"

    // testImplementation group: 'junit', name: 'junit', version: "$junit"

    testImplementation group: 'org.testng', name: 'testng', version: "$testng"
}

activej.gradlepac4j.gradle和`kotlin.gradle文件还有其他的缺陷。

我的目录结构是:

代码语言:javascript
运行
复制
src
 |- main
      |- java
      |- kotlin
      |- resources
 |- test
      |- java
      |- kotlin
      |- resources

我正在使用TestNG。

我暂时有一个模拟测试文件:

代码语言:javascript
运行
复制
package com.sirinath.activej.config

import org.testng.annotations.*;

@Test
class TestRouteBuilder {
    @Test
    public fun test() {
        System.out.println("Testing")
    }
}

当我执行testClasses时,我得到:

代码语言:javascript
运行
复制
11:08:29 pm: Executing task 'testClasses'...


> Configure project :server
Kotlin Multiplatform Projects are an experimental feature.

> Task :wrapper

BUILD SUCCESSFUL in 1s
1 actionable task: 1 executed

> Configure project :server
Kotlin Multiplatform Projects are an experimental feature.

> Task :server:compileKotlinJvm NO-SOURCE
> Task :server:compileJava NO-SOURCE
> Task :server:jvmProcessResources NO-SOURCE
> Task :server:processResources SKIPPED
> Task :server:classes UP-TO-DATE
> Task :server:jvmMainClasses UP-TO-DATE
> Task :server:compileTestKotlinJvm NO-SOURCE
> Task :server:compileTestJava NO-SOURCE
> Task :server:jvmTestProcessResources NO-SOURCE
> Task :server:processTestResources SKIPPED
> Task :server:testClasses UP-TO-DATE

BUILD SUCCESSFUL in 947ms
11:08:32 pm: Task execution finished 'testClasses'.

我在这里有三个问题:

  1. 测试不运行。
  2. ,当我在src\main\javasrc\main\kotlinsrc\test\kotlin目录中有代码时,它表示NO-SOURCE。如果它没有找到源,我想知道它在哪里,因为有源files.
  3. IntelliJ IDEA,IntelliSense不识别org.testng.*包以及其他依赖项,尽管它显示在IDEA中的项目结构中。我已经尝试过清除不起作用的IDE缓存。
EN

回答 1

Stack Overflow用户

发布于 2020-08-11 13:43:57

and

  • removing

  1. id 'org.jetbrains.kotlin.multiplatform' version "$kotlin_version"转换为id 'org.jetbrains.kotlin.jvm' version "$kotlin_version"

代码语言:javascript
运行
复制
kotlin {
    jvm {
        withJava()
    }
}

解决所有三个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63121182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档