我正在关注Spring Boot文档https://spring.io/guides/gs/spring-boot/ 但是,即使我具有相同的gradle文件,也执行了与“添加单元测试”步骤中相同的操作后,由于导入失败,该项目将无法构建。
gs-spring-boot\complete\src\main\java\com\example\springboot\HelloControllerTest.java:3: error: package org.hamcrest does not exist
import static org.hamcrest.Matchers.equalTo;
^
error: package org.assertj.core.api does not exist
import static org.assertj.core.api.Assertions.*;
我的gradle文件内容
plugins {
id 'org.springframework.boot' version '2.2.2.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
和整个项目设置都在https://github.com/spring-guides/gs-spring-boot/archive/master.zip
中给出这里出了什么问题?我已经安装了Java SDK,并且可以在此步骤之前运行http服务器。我在Windows 10上使用IntelliJ及其内置的gradle。
答案 0 :(得分:1)
不确定这是否仍然是一个有用的答案,但我也遇到了这个问题。
问题似乎是您的代码在“main”目录而不是“test”目录中。将测试文件移动到测试目录为我解决了这个问题。
答案 1 :(得分:0)
您缺少Hamcrest:
// https://mvnrepository.com/artifact/org.hamcrest/hamcrest
testImplementation "org.hamcrest:hamcrest:2.2"