当前位置: 首页 > 知识库问答 >
问题:

Maven构建测试失败但JUnit runner测试通过?

萧芷阳
2023-03-14

首先请原谅我可能的无知,专业的做事方式对我来说很新鲜,如果有什么我没有提到的,请告诉我,我会尽力给你你需要的信息。。。

所以我试图用maven在Eclipse中构建我的webapp,我有一个测试套件

@RunWith(Suite.class)
@Suite.SuiteClasses({
    // all my test classes
})

这很好,当我右键单击并以Junit test运行测试时,所有测试都通过了。

当我以Maven build的形式运行它,并以打包一系列测试为目标时,失败了???

我的maven surefire插件配置如下

    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-surefire-plugin</artifactId>
        <version>2.16</version>
        <dependencies>
            <dependency>
                <groupId>org.apache.maven.surefire</groupId>
                <artifactId>surefire-junit47</artifactId>
                <version>2.16</version>
            </dependency>
        </dependencies>
        <configuration>
            <excludes>
                <exclude>**/Test*.java</exclude>
            </excludes>
            <includes>
                <include>**/DynamoUnitTestSuite.java</include>
            </includes>
        </configuration>
    </plugin>

这样,它将排除运行集成测试,而只运行测试套件中的内容。

为什么我的测试在运行maven build时失败,而在只运行测试套件时失败???

共有1个答案

袁霍英
2023-03-14

好了,解决了。。。你会喜欢的。

在Eclipse中,我签出了一个依赖项,并在对这两个项目进行更改时将其从master分支(我们也在使用Git)。当我运行JUnit runner进行测试时,它通过得很好,因为Eclipse意识到它有这种依赖关系,但是当我运行maven构建时,它仍然使用旧版本的依赖关系。。。

为了解决这个问题,我更改了依赖项的版本号,并构建了它,然后手动将其复制到本地maven repo中,并更新了主项目pom文件以使用这个。。。volia它现在通过了maven构建的所有测试:)

 类似资料:
  • 我正在为一个带有多个STS模块的spring boot项目运行maven安装。 Maven日志: 最后,展示了所有模块的成功构建。难道它不应该一发现失败就停止制造战争吗?

  • 我们有一组UI测试每晚运行,有时一些测试由于网络故障而失败。为了避免假阴性测试结果,我使用了,它可以重新运行失败的测试多达3次。 当我从Eclispe右键单击套件运行测试时,它工作得非常好。xml—如果测试最初失败,但重试时通过,则第一个结果不算作失败。 但是,当作为Maven构建的一部分运行相同的测试时,如果任何测试失败,即使在重试时成功通过,构建也会失败。 例如,运行一个包含5个测试的套件,其

  • 我在所有集成测试中不断收到异常,而单元测试运行良好。所有异常如下所示: 我正在使用Jupiter进行测试。我的观点的上述例外指向data.sql脚本,我必须填充一些数据。对我来说,语法似乎没问题,也运行良好,这意味着如果使用邮递员进行测试,会生成记录: 还考虑了Spring Boot可能存在的配置问题,所以我在gradle中添加了jdbc-starter依赖项。但它似乎仍然失败。 以下是测试的一部

  • 我正在jenkins上运行一组测试,我得到以下结果: 好的东西告诉我行: maven-surefire-插件: 2.16是这里的问题,所以这里是我的pom文件检查: 我已经检查了maven仓库中的插件,我看到的唯一区别是插件标签中有插件,而在网站中它是在依赖标签中。 这里可能有什么错误? 谢谢 注:抱歉纯文本,但我不知道如何给代码上色=/

  • 问题内容: 我已经设置了一个Jenkins服务器来运行Selenium测试。生成脚本是用Ant(CentOS 6.3上的v 1.7.1)编写的,并且测试在Sauce Labs上运行。我通过外壳执行构建: 问题是测试失败时,詹金斯(Jenkins)将其标记为成功。我可以通过将设置为来避免这种情况,请参阅: 但是,这并不理想,因为Jenkins会在遇到第一个故障时终止构建。构建完成后是否可以检查失败,

  • 我在使用JUnit5进行maven测试时遇到了一个奇怪的问题。 我用junit工具为每个方法创建了测试套件,每个测试都是这样开始的。 和要测试的类