2013-06-03 142 views
2

我有一个测试插件功能。我使用ant + jococo从每个插件运行测试套件。测试套件具有相同的名称,如“测试”。现在使用硬编码的插件名称,如 <run-test-macro test='plugin.name.Test'/>(目标中的硬编码值)。使用ANT运行测试eclipse功能

我该如何做到这一点,而不使用硬编码的插件名称,我想从ANT中的feature-XML获取这些插件名称,并且foreach插件调用我的宏。

我找到了方法,但我不认为这是个好主意: 我可以使用XPath,如this和ant循环,它将改变xpath中的正则表达式以跳过已运行的测试。

+0

编辑赏金:需要的解决方案,不使用XPATH和自动拾取JUnit测试片段 –

+0

或者,如果你清楚地描述这是不可能的。 –

回答

1

您需要在Ant中做两件事情,它们并不是直截了当的:从一些xml和一个循环中提取一些信息。

提取一些XML:

  • 有JavaScript的解决方案,您pointed out
  • 有一些外部的XPath任务可用。我用andariel,它对我的​​使用情况很好。如果你google谷歌'xpath蚂蚁任务',你可能会发现其他的实现。
  • 使用loadfile Ant任务和过滤链replaceregex的一些正则表达式。只有在不害怕正则表达式的情况下才可以使用,并且可以对实际的xml语法(附加换行符,空格...)有所了解(

要循环,并处理条件(从我理解的'ant循环会改变xpath中的正则表达式以跳过已运行的测试'):只有一个正常的解决方案,使用ant-contrib。查找for,foreachif任务。

+0

对于运行功能插件测试,没有任何“框内解决方案”,这是一个可惜的情况。 Cos'ant编译放入特性中的所有插件,我认为应该有可能在每个插件的编译部分分割这个过程并用插件做一些事情...... –