首页 > 解决方案 > 使用 docker-maven-plugin 时如何在 IntelliJ 中可视化 JUnit 集成测试的输出?

问题描述

IntelliJ 与 JUnit 有很好的集成,允许我运行部分或全部单元测试,并使用可折叠/可扩展的层次结构可视化每个测试和测试类的结果,甚至考虑到 JUnit5 嵌套测试类。我可以单击任何失败的测试来查看仅运行该方法的日志输出。它看起来像这样:

IntelliJ JUnit 测试运行程序

我现在使用两个流行的 Maven 插件为我的项目定义了一个集成测试阶段:

我可以告诉 IntelliJ 运行一个运行此生命周期的 Maven 命令(例如maven clean verify)并告诉我测试是否通过。但是,IntelliJ 中的 Maven“运行配置”不会产生同样有用的输出。我得到的只是每个阶段的成功或失败状态,我可以导航到一个阶段的控制台输出,但不能导航到单个测试。输出如下所示:

IntelliJ Maven 跑步者

所以这是我的问题:是否有任何方法可以配置 IntelliJ(或 Maven,或两者)以提供分层测试输出,同时保持我定义的 Maven 生命周期,临时使用 docker-container 数据库我的集成测试?

我知道我可以手动启动测试数据库容器,使用 IntelliJ 的 JUnit 运行器进行集成测试,然后手动停止容器。我能做得更好吗?

标签: mavenintellij-ideajunitintegration-testing

解决方案


不幸的是,没有工具可以在保持 Maven 生命周期的同时显示逐个测试的输出,因为在这种情况下使用了 Maven 运行配置。请在测试运行器选项卡中对类/方法输出使用 Junit 运行配置。


推荐阅读