尝试在Eclipse中以调试模式运行ANT JUnit目标

这是我的ANT JUnit目标

                      

我的unit testing如果通过Eclipse运行则通过,但如果我从ANT中清洗它则会失败。 我希望它在unit testing中停在我的断点处。 从文档我知道我需要添加这些jvmarg但不能让它停止所以我显然没有在正确的地方。 另外,我认为我没有正确的端口,但我应该使用哪个端口? 在通过eclipse调试JUnits时我没有设置任何调试端口,它只是起作用

您需要忘记在Eclipse中运行JUnit测试和ANT目标的时刻。 你想要的是调试碰巧有主类org.apache.tools.ant.Main的Java应用程序,它可以从命令行用ant启动。

您现在有两个选项:您可以创建一个调用org.apache.tools.ant.Main的启动配置,但设置起来非常复杂(您必须复制ant脚本在启动时执行的所有操作)。

另一种方法是正确配置ant 。 在你的情况下,测试在ant进程中运行,但我知道没有简单的方法将-Xdebug传递给Ant本身。 因此,您必须在新进程中运行测试。 将其添加到junit任务:

  

如果没有这个, jvmarg参数将被忽略。

下一步是在Eclipse中创建调试配置。 本文详细解释了这一点。 对你而言,只有“结论”之前的最后一部分才是重要的。

详细说明:

  1. 在Eclipse中,导航到Run | 调试。
  2. 在左列中选择Remote Java Application。 单击同一列底部的“新建”。
  3. 在“创建配置”屏幕中,系统将提示您输入一些值。 从一个有意义的名字开始。 对于Project,选择包含要调试的源代码的Java项目。 保持连接类型默认,即标准(套接字连接)。 对于Host,输入localhost。 如果要调试远程服务器,请输入其主机名或IP地址。 对于port,输入5432。
  4. 单击“应用”
  5. 确保您的测试在调试模式下运行。 在同一屏幕中单击“调试”。 Eclipse应自动将您带到Debug透视图,您应该在Debug视图中看到堆栈跟踪。
  6. 如果未自动进入Debug透视图,请选择Window | 开放视角| 其他,然后单击调试。

从这里开始 。