1

当涉及多个服务并在 pax 考试的帮助下进行测试时,我如何启用和调试。

我有一组服务编排并提供功能。这些服务中的每一个都有模拟其他服务的测试。除此之外,还有通过 pax 考试完成的集成测试。

但是当我通过我的 IDE:intelliJ 钩住一个调试器并运行测试时,调试器不会被钩住。我应该在这里使用远程调试吗?如果是,我应该在 pax 考试中配置它吗?

4

2 回答 2

1

使用 Pax Exam 的远程或 Karaf 测试容器,您将需要远程调试。使用本机测试容器,所有测试都在同一个 VM 中运行,因此普通断点应该可以工作。

Native Container 通常是首选,除非您需要完全的类加载器隔离。

于 2014-07-03T10:21:09.097 回答
0

您没有指定您使用的是什么版本的 Pax Exam。但是,通常 Pax Exam 在运行测试时会启动一个单独的 JVM,这就是为什么您的调试器不会在您定义的断点处停止的原因。您需要首先告诉 Pax Exam 启动新的 JVM 并打开远程调试。然后你可以让你的 IDE 连接到那个远程调试器。在 Pax Exam 网站上实际上有一个关于此的常见问题解答:

https://ops4j1.jira.com/wiki/display/paxexam/FAQ#FAQ-WhydoestheJavadebuggernotstopatabreakpointIsetinmyPaxExamJUnittest

于 2014-07-03T07:39:57.623 回答