使用 docker-maven-plugin 时如何在 IntelliJ 中可视化 JUnit 集成测试的输出?
How to visualize output of JUnit integration tests in IntelliJ when using docker-maven-plugin?
IntelliJ 与 JUnit 有很好的集成,允许我 运行 我的部分或全部单元测试并可视化每个测试和测试 class 具有 collapsible/expandable 层次结构的结果甚至考虑到了 JUnit5 嵌套测试 classes。我可以单击任何失败的测试来查看 运行 仅使用该方法的日志输出。它看起来像这样:
我现在已经使用两个流行的 Maven 插件为我的项目定义了一个集成测试阶段:
maven-failsafe-plugin
将我的 JUnit 测试分为两个阶段。测试 class 在 测试 阶段以 "Test" 运行 结束,而在 "IT" 运行 期间以 "IT" 运行 结束集成测试阶段。
- fabric8 的
docker-maven-plugin
,我用它在 pre-integration-test 阶段启动测试数据库,并在 阶段关闭它]post-集成测试阶段。
我可以告诉 IntelliJ 运行 一个 Maven 命令(例如 maven clean verify
)运行 这个生命周期,并告诉我测试是否通过。但是,IntelliJ 中的 Maven "run configuration" 不会产生相同的有用输出。我得到的只是每个阶段的成功或失败状态,我可以导航到一个阶段的控制台输出,但不能导航到单个测试。输出如下所示:
所以这是我的问题:有什么方法可以配置 IntelliJ(或 Maven,或两者)以在保持我定义的 Maven 生命周期的同时提供分层的逐个测试输出,使用我的集成测试临时使用 docker-container 数据库?
我知道我可以手动启动测试数据库容器,使用 IntelliJ 的 JUnit 运行ner 进行集成测试,然后手动 停止容器。我可以做得更好吗?
不幸的是,没有工具可以在保持 Maven 生命周期的同时显示逐个测试的输出,因为在这种情况下使用 Maven 运行 配置。请在测试 运行ner 选项卡中为 Class/method 输出使用 Junit 运行 配置。
IntelliJ 与 JUnit 有很好的集成,允许我 运行 我的部分或全部单元测试并可视化每个测试和测试 class 具有 collapsible/expandable 层次结构的结果甚至考虑到了 JUnit5 嵌套测试 classes。我可以单击任何失败的测试来查看 运行 仅使用该方法的日志输出。它看起来像这样:
我现在已经使用两个流行的 Maven 插件为我的项目定义了一个集成测试阶段:
maven-failsafe-plugin
将我的 JUnit 测试分为两个阶段。测试 class 在 测试 阶段以 "Test" 运行 结束,而在 "IT" 运行 期间以 "IT" 运行 结束集成测试阶段。- fabric8 的
docker-maven-plugin
,我用它在 pre-integration-test 阶段启动测试数据库,并在 阶段关闭它]post-集成测试阶段。
我可以告诉 IntelliJ 运行 一个 Maven 命令(例如 maven clean verify
)运行 这个生命周期,并告诉我测试是否通过。但是,IntelliJ 中的 Maven "run configuration" 不会产生相同的有用输出。我得到的只是每个阶段的成功或失败状态,我可以导航到一个阶段的控制台输出,但不能导航到单个测试。输出如下所示:
所以这是我的问题:有什么方法可以配置 IntelliJ(或 Maven,或两者)以在保持我定义的 Maven 生命周期的同时提供分层的逐个测试输出,使用我的集成测试临时使用 docker-container 数据库?
我知道我可以手动启动测试数据库容器,使用 IntelliJ 的 JUnit 运行ner 进行集成测试,然后手动 停止容器。我可以做得更好吗?
不幸的是,没有工具可以在保持 Maven 生命周期的同时显示逐个测试的输出,因为在这种情况下使用 Maven 运行 配置。请在测试 运行ner 选项卡中为 Class/method 输出使用 Junit 运行 配置。