代码之家  ›  专栏  ›  技术社区  ›  Shubham Jain

maven中的编译测试和干净安装有什么区别

  •  1
  • Shubham Jain  · 技术社区  · 8 年前

    我正在使用rest-assured库自动化API。

    从昨天开始,我一直在挣扎。

    我在清理安装时出错,如下所示:

    [错误]无法执行目标 组织。阿帕奇。专家插件:maven编译器插件:3.6.1:编译 项目上的(默认编译)rest assuredProject:编译失败: 编译失败:[错误] /D: /Workspace/rest-assuredMaven/src/basics/twitterAPI。爪哇:[12,22] 包io。重启不存在[错误] /D: /Workspace/rest-assuredMaven/src/basics/twitterAPI。爪哇:[14,31] 包io。重新发行。响应不存在[错误] /D: /Workspace/rest-assuredMaven/src/basics/twitterAPI。爪哇:[16,29] 找不到符号[错误]符号:类重新颁发

    今天我提到了一个堆栈下线程

    Maven Compilation error [package org.testng.annotations does not exist]

    其中一个答案说要使用 编译测试 而不是 清洁安装 . 猜猜是什么开始起作用的。即使只是 测验 工作正常。现在我想知道为什么会这样

    我观察到,它们是脚本中存在的一些静态导入。 例子:

    import static io.restassured.RestAssured.given;
    import static org.hamcrest.Matchers.equalTo;
    

    是因为同样的原因吗?

    另外,如果我需要进一步即兴创作,请告诉我

    1 回复  |  直到 8 年前
        1
  •  4
  •   Ondřej Xicht Světlík    8 年前

    这个 RestAssured 类由 rest-assured 人工制品您的依赖项中没有工件,并且编译范围的依赖项都不依赖它,这就是install不知道它的原因。

    测试之所以有效,是因为您的一个测试范围依赖项(spring mock mvc)依赖于 请放心 人工制品所以我看到的解决方案是 请放心 编译范围依赖项的工件:

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