当涉及多个服务并在 pax 考试的帮助下进行测试时,我如何启用和调试。
我有一组服务编排并提供功能。这些服务中的每一个都有模拟其他服务的测试。除此之外,还有通过 pax 考试完成的集成测试。
但是当我通过我的 IDE:intelliJ 钩住一个调试器并运行测试时,调试器不会被钩住。我应该在这里使用远程调试吗?如果是,我应该在 pax 考试中配置它吗?
当涉及多个服务并在 pax 考试的帮助下进行测试时,我如何启用和调试。
我有一组服务编排并提供功能。这些服务中的每一个都有模拟其他服务的测试。除此之外,还有通过 pax 考试完成的集成测试。
但是当我通过我的 IDE:intelliJ 钩住一个调试器并运行测试时,调试器不会被钩住。我应该在这里使用远程调试吗?如果是,我应该在 pax 考试中配置它吗?
使用 Pax Exam 的远程或 Karaf 测试容器,您将需要远程调试。使用本机测试容器,所有测试都在同一个 VM 中运行,因此普通断点应该可以工作。
Native Container 通常是首选,除非您需要完全的类加载器隔离。
您没有指定您使用的是什么版本的 Pax Exam。但是,通常 Pax Exam 在运行测试时会启动一个单独的 JVM,这就是为什么您的调试器不会在您定义的断点处停止的原因。您需要首先告诉 Pax Exam 启动新的 JVM 并打开远程调试。然后你可以让你的 IDE 连接到那个远程调试器。在 Pax Exam 网站上实际上有一个关于此的常见问题解答: