无法在项目上执行目标 org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test)。而 'Run as Maven test'

Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.0.0-M3:test (default-test) on project. while 'Run as Maven test'

我正在尝试为 Z PL/SQL Analyzer plugin by Felipebz. For that, I am following this 教程创建自己的自定义规则。

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

[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 服务器中对其进行测试。但是,在更改代码中的任何内容之前,我想先按原样对其进行测试;因为我估计下载的项目模板中已经提供了示例规则。一旦我首先将它作为 jar 文件进行测试,我就可以对代码进行进一步的更改。

正如 Raphael Alves 所建议的,我通过将以下依赖项添加到 pom.xml

来解决它
<dependency>
    <groupId>org.assertj</groupId>
    <artifactId>assertj-core</artifactId>
    <version>3.11.1</version>
    <scope>test</scope>
</dependency>

您可能想在 Maven Repository

上检查此依赖项的最新版本

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

例如正确的方法:

clean install -Drelease.testng=inventoryAndWarehouseModuleSmoke.xml

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