首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >gradle compileJava错误:包gradle不存在

gradle compileJava错误:包gradle不存在
EN

Stack Overflow用户
提问于 2019-04-28 23:16:25
回答 2查看 8.6K关注 0票数 2

我无法使用gradle来进行JUnit5测试,尽管我已经将org.junit.jupiter.api放在了依赖项中,但gradle还是失败了,并显示了一条消息,告诉我它找不到gradle。

我必须编译给我的一些代码。它的目录结构如下:

代码语言:javascript
复制
├── build.gradle
├── src
│   ├── frame
│   │   ├── CardTestfileReader.java
│   │   ├── PublicTests.java
│   │   └── SortArray.java
│   └── lab
│       ├── Card.java
│       ├── HybridSort.java
│       ├── HybridSortRandomPivot.java
│       └── YourTests.java
└── tests
    └── public
        ├── TestFile1
        ├── TestFile2
        └── TestFile3

JUnit5测试在frame.PublicTests中,我需要运行这些测试。

我设法拷贝了这个build.groovy文件,但并没有真正理解它在做什么。

代码语言:javascript
复制
plugins {
  id 'java'
  id 'checkstyle'
}

repositories {
  mavenCentral()
}

dependencies {
  testCompile('org.junit.jupiter:junit-jupiter:5.4.2')
  testImplementation('org.junit.jupiter:junit-jupiter:5.4.2')
}

test {
  useJUnitPlatform()
  testLogging {
    events "passed", "skipped", "failed"
  }
}

sourceSets {
  main {
    java {
      srcDir 'src'
    }
  }

  test {
    java {
      srcDir 'src'
    }
  }
}

我希望gradle test能正常工作,并以某种方式运行单元测试。

EN

回答 2

Stack Overflow用户

发布于 2019-04-29 00:33:45

使用Gradle,同一个项目可以有多个配置(例如"main“和"test"),每个配置可以有不同的类路径。您将使用指令testCompile('org.junit...')导入junit5依赖项;但这仅包括测试配置中的junit5 jar。

注意,Gradle类被放在main下,所以Gradle将在“PublicTests”配置下编译它。如果PublicTests引用junit5,那么这将导致编译错误(因为junit5不包括在“主”类路径中)。

长话短说..你应该把你所有的测试放在test下。

您可以通过调用gradle dependencies来检查每个配置的类路径。

票数 3
EN

Stack Overflow用户

发布于 2019-04-29 02:37:35

你有一个奇怪的设置,其中"main“和"test”源码集引用相同的"src“文件夹。

因此,PublicTests.java实际上在两个源代码集中(主和测试)。所以实际上有两个编译任务指向完全相同的源代码。"main“源码集无法编译,因为junit不在编译类路径中。

*不要将JUNIT放在COMPILE CLASSPATH中来修复这个问题*

你的构建搞得一团糟,你需要将你的测试与你的主要源代码分开,并停止与两个源代码集共享"src“文件夹。

帮你自己一个忙,坚持使用Gradle的合理默认值。将应用程序代码放在src/main/java中,并将测试放在src/test/java

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

https://stackoverflow.com/questions/55891680

复制
相关文章

相似问题

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