TestNG @Factory:调试测试类似乎无法做到

时间:2011-03-10 00:37:18

标签: testing testng

使用TestNG Factories时,我在调试测试类时遇到问题。看起来,在调试模式下,您只能调试到工厂类。

在下面的示例中,可以在WebTestFactory中进行调试,而在WebTest中则无法进行调试。

工厂类:

public class WebTestFactory {
  @Factory
  public Object[] createInstances() {
   Object[] result = new Object[10]; 
   for (int i = 0; i < 10; i++) {
      result[i] = new WebTest(i * 10);
    return result;
  }
}

测试类:

public class WebTest {

  // **** BREAKPOINTS IMPOSSIBLE HERE ****

  private int m_numberOfTimes;
  public WebTest(int numberOfTimes) {
    m_numberOfTimes = numberOfTimes;
  }

  @Test
  public void testServer() {
   for (int i = 0; i < m_numberOfTimes; i++) {

    }
  }
}

编辑:附加信息:我当前的项目结构是测试类和工厂在不同的项目中。工厂位于我运行测试的项目中,测试类位于外部jar中。

编辑:这不是TestNG问题。只是Eclipse又疯了!

1 个答案:

答案 0 :(得分:2)

我真的怀疑TestNG与你的问题有什么关系:Java代码是Java代码,如果Eclipse可以运行它,Eclipse可以调试它。代码在不同的jar或不同的项目中的事实没有区别。可能有所作为的是,如果测试是在不同的过程中运行,但我怀疑这是在这种情况。

有很多原因导致Eclipse不允许你在某个地方设置断点,我建议你谷歌这个话题并在这里报告。