maven

时间:2018-01-10 07:42:02

标签: maven rest-assured

我正在使用可靠的库来自动化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;

它是否也是一样的?

另外,如果我需要进一步改进,请告诉我

1 个答案:

答案 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>