在Eclipse中的JUnit测试上调试断点不起作用

时间:2009-10-02 00:50:57

标签: java eclipse debugging junit

我正在尝试在eclipse中调试junit测试但是我的断点没有触发(除非它们在第一行或第二行)。

我尝试删除并重新创建工作区中的所有断点,清理项目,创建新的调试配置,以及单独运行测试方法以及使用其他方法作为测试类的一部分。但一切都无济于事: - (

 public void testLoadPatientsAndConvertToBeans() throws IOException, CDataGridException {
  File file = fileutil.getFileFromPrefsOrPrompt(basefileDef);

  CDataBuilder builder = new CDataDelimitedFileBuilder(file, 
    CDataDelimitedFileBuilder.DelimiterSettings.WINDOWS_CSV,
    basefileDef);

  // breakpoints placed on lines from here on do not fire

  CDataCacheContainer container = 
   cacheIO.construct(
     new CDataNarrower(
       cacheIO.construct(builder)
     ).setConvertMissing(true));

  assertEquals(13548, container.size());

  cacheIO.export(container, patients);

  Collection<Patient> pBeans = patients.getBeans();

  assertEquals(container.size(), pBeans.size());

  Patient patient = pBeans.iterator().next();
  Map props = patient.getPropertyMap();

  System.out.println(props);
 }

2 个答案:

答案 0 :(得分:7)

如果您使用的是Sun JDK 6 Update 14,则可能会出现这种情况。请参阅另一个similar SO question here。在这种情况下,可能的解决方案是使用Sun JDK 6 Update 16.

答案 1 :(得分:0)

我的第一个直觉是eclipse中的缓存类与你的代码不同步。但是,鉴于您已尝试清理/重建项目,它应该已修复它。因为你可以在第1行/第2行放置一个断点,当你单步执行代码时会发生什么?代码是否与每个步骤一致?如果没有,则表明eclipse与源代码具有不同版本的类。如果它们是相同的,我会尝试删除一个较新的eclipse副本(我假设你已经尝试重启你的eclipse),因为你可能发现了一个奇怪的错误(新版本可能已修复它或清理一些陈旧的数据)。对不起,我不能再有用了。

相关问题