java - IntelliJ Spring Gradle“运行所有测试”不起作用(单个测试运行良好)
问题描述
我有一个带有 4 个测试和以下 build.gradle 的 Spring Gradle 项目:
plugins {
id 'org.springframework.boot' version '2.1.6.RELEASE'
id 'java'
}
apply plugin: 'io.spring.dependency-management'
version = '0.0.1'
sourceCompatibility = '11'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter'
//Rest Controller
compile 'org.springframework.boot:spring-boot-starter-web'
//Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
//Tests
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testCompile 'com.h2database:h2'
//Database
compile("mysql:mysql-connector-java")
compile("org.springframework.boot:spring-boot-starter-data-jpa")
//Authentication
compile 'org.springframework.security:spring-security-crypto' //e.g. PasswordEncoder
compile 'org.springframework.boot:spring-boot-starter-security' //e.g. @PreAuthorize
//ResourceAssembler
compile 'org.springframework.boot:spring-boot-starter-hateoas'
//JWT Token generation
compile("com.auth0:java-jwt:3.4.0")
}
我可以使用“运行测试”开始每个测试,它运行良好,但是当我尝试“运行所有测试”时,它失败并显示消息“错误运行“全部”:没有 junit.jar”
我已经尝试添加以下任何依赖项,但没有解决问题:
testCompile 'junit:junit:4.12
testImplementation('org.junit.jupiter:junit-jupiter-api:5.4.2')
testRuntime('org.junit.jupiter:junit-jupiter-engine:5.4.2')
我正在使用 IntelliJ
解决方案
类路径派生自包含测试的模块的依赖项。这些文件是从工作目录加载的,因此应该在运行/调试配置中为您的测试指定它。以下链接说明了如何为您的测试配置它。 在 IntelliJ 中运行 JUnit 测试
另外,我想检查 IntelliJ IDE 中的测试运行器配置。打开首选项或设置对话框窗口。检查 Gradle 配置并查找 Build、Execution、Deployment | 构建工具 | 摇篮 | 亚军:
在这里,选择 Gradle 测试运行器。配置完成后,您可以在覆盖范围内运行您的代码,看看它是否有帮助。
推荐阅读
- selenium-webdriver - @Test 未执行 - 如果我在测试 xml 文件中添加 TestNG 侦听器,我的 @Test 方法未执行
- python - 我怎样才能让我的 opencv wwebcam 显示画面更快?
- c++ - 不同“种类”成员变量之间的区别
- python - 减去 2 个数据框列并得到没有奇怪舍入的结果(浮点运算)
- c# - 错误消息为 :Assert.AreEqual 失败。预期:<1>。实际:<0>
- java - Spring Web 控制器如何确定重定向的 HTTP 状态代码
- ruby-on-rails - 为什么 Rails 没有响应错误 406?
- android - Android Kotlin 中的 RecyclerView 效果选定项
- python - 输入一个数字 N,然后程序继续输出所有小于 N 的 2 的幂。我该如何继续?
- reactjs - ReactJS 令牌基础帖子?