我试图在一个没有“ web”代码的单独项目中编写集成测试。我正在尝试仅添加spring-test-starter,如下所示:
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-test', version: '2.3.4.RELEASE'
无需添加(或类似的启动器)
implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.3.4.RELEASE'
但是当我去使用时 org.springframework.boot.test.web.client.TestRestTemplate
org.springframework.boot.test中不包含返回类型,它在“ org.springframework.http.ResponseEntity”下
public <T> ResponseEntity<T> getForEntity(String url,
Class<T> responseType,
Map<String,?> urlVariables)
throws RestClientException
我找不到任何地方说spring-boot-starter-test依赖于spring-boot-starter-web,因为否则,入门者的意义何在?有没有一种方法可以不依赖(2)个启动器来使用TestRestTemplate?
答案 0 :(得分:0)
如果您不想使用入门包,则需要手动添加所需包的依赖关系。像ResponseEntity
是spring-web
的一部分。因此,您需要向spring-web
或pom.xml
文件添加build.gradle
依赖项。
如果只希望使用spring-web进行测试,则可以将此行添加到build.gradle文件中。
testCompile group: 'org.springframework', name: 'spring-web', version: '5.2.9.RELEASE'
或您的pom.xml文件
<!-- https://mvnrepository.com/artifact/org.springframework/spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.2.9.RELEASE</version>
<scope>test</scope>
</dependency>
检查所需的版本。