我正在使用可靠的库来自动化API。
我从昨天开始挣扎。
我收到了如下所示的干净安装错误:
[错误]无法执行目标 org.apache.maven.plugins:Maven的编译器插件:3.6.1:编译 项目rest-assuredProject上的(default-compile):编译失败: 编译失败:[错误] /D:/Workspace/rest-assuredMaven/src/basics/twitterAPI.java:[12,22] 包io.restassured不存在[错误] /D:/Workspace/rest-assuredMaven/src/basics/twitterAPI.java:[14,31] 包io.restassured.response不存在[错误] /D:/Workspace/rest-assuredMaven/src/basics/twitterAPI.java:[16,29] 找不到符号[ERROR]符号:class RestAssured
今天我引用了一个下面的堆栈线程
Maven Compilation error [package org.testng.annotations does not exist]
其中一个答案是使用编译测试而不是清理安装。 并猜猜它开始工作的原因。即使只是测试工作正常。现在我已经查询了它为什么会发生
我观察到它们是脚本中存在的一些静态导入。 例如:
import static io.restassured.RestAssured.given;
import static org.hamcrest.Matchers.equalTo;
它是否也是一样的?
另外,如果我需要进一步改进,请告诉我
答案 0 :(得分:4)
RestAssured
类由rest-assured
工件提供。您的依赖项中没有工件,并且编译范围依赖项都不依赖于它,这就是安装不了解它的原因。
测试工作是因为您的测试范围依赖项之一(spring-mock-mvc)取决于rest-assured
工件。因此,我认为解决方案是将rest-assured
工件添加到编译范围依赖项中:
<dependencies>
... current content ...
<!-- https://mvnrepository.com/artifact/io.rest-assured/rest-assured -->
<dependency>
<groupId>io.rest-assured</groupId>
<artifactId>rest-assured</artifactId>
<version>3.0.6</version>
</dependency>
</dependencies>