无法在项目上执行目标org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test(默认测试)。而“以Maven运行测试”

时间:2019-02-08 05:47:34

标签: eclipse maven sonarqube sonarqube-plugin

我正在尝试为Z PL/SQL Analyzer plugin by Felipebz创建自己的自定义规则。为此,我正在关注this教程。

我在该教程中下载了提到的Github Directory并将其导入Eclipse。现在,当我尝试以“ Maven测试”运行它时,出现以下错误:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test) on project plsql-custom-rules: There are test failures.

日志中还有其他错误:

[INFO] Running com.company.plsql.ForbiddenDmlCheckTest
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.284 s <<< FAILURE! - in com.company.plsql.ForbiddenDmlCheckTest
[ERROR] test(com.company.plsql.ForbiddenDmlCheckTest)  Time elapsed: 0.181 s  <<< ERROR!
java.lang.NoSuchMethodError: org.assertj.core.api.Assertions.assertThat(Ljava/lang/String;)Lorg/assertj/core/api/AbstractStringAssert;
at com.company.plsql.ForbiddenDmlCheckTest.test(ForbiddenDmlCheckTest.java:10)

有人知道这个特定问题的解决方案吗?


我想创建一个jar来在SonarQube Server中对其进行测试。但是,在更改代码中的任何内容之前,我想先对其进行测试。因为我认为下载的Project模板中已经提供了一个示例规则。一旦开始将其作为jar文件进行测试,就可以对代码进行进一步的更改。

2 个答案:

答案 0 :(得分:1)

仔细检查下面的构建配置,包含您的测试对象名称的目标 xml 应该正确,命令应该正确。配置示例:

configuration example

例如正确的方法:

clean install -Drelease.testng=inventoryAndWarehouseModuleSmoke.xml

这个错误也可能是因为这个。

答案 1 :(得分:0)

如Raphael Alves所建议,我通过将以下依赖项添加到pom.xml中来解决了该问题

<dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    <version>3.11.1</version>
    <scope>test</scope>
</dependency>

您可能要检查对Maven Repository的此依赖项的最新版本