使用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又疯了!答案 0 :(得分:2)
我真的怀疑TestNG与你的问题有什么关系:Java代码是Java代码,如果Eclipse可以运行它,Eclipse可以调试它。代码在不同的jar或不同的项目中的事实没有区别。可能有所作为的是,如果测试是在不同的过程中运行,但我怀疑这是在这种情况。
有很多原因导致Eclipse不允许你在某个地方设置断点,我建议你谷歌这个话题并在这里报告。