【问题标题】:Run test from eclipse feature using ANT使用 ANT 从 Eclipse 功能运行测试
【发布时间】:2013-05-29 16:44:36
【问题描述】:

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

如何在不使用硬编码插件名称的情况下做到这一点,我想从 ANT 中的功能 XML 中获取这些插件名称,然后 foreach 插件调用我的宏。

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

【问题讨论】:

  • 悬赏编辑:需要的解决方案不使用 XPATH 并自动获取 JUnit 测试片段
  • 或者如果你清楚地描述这是不可能的。

标签: java ant scripting


【解决方案1】:

您需要在这里做两件事,这在 Ant 中并不直接:从一些 xml 中提取一些信息,以及一个循环。

提取一些xml:

  • 有你pointed out的javascript解决方案
  • 有一些外部 xpath 任务可用。我使用了andariel,它适用于我的用例。如果你用谷歌搜索“xpath ant task”,你可能会发现其他实现。
  • loadfile Ant 任务和过滤器链replaceregex 使用一些正则表达式。仅在您不害怕正则表达式并且可以对实际的 xml 语法(附加换行符、空格...)敏感时使用。

循环并处理条件(根据我从“ant loop which will change regexp in xpath to skip already runed tests”中了解到的):只有一个不错的解决方案,使用ant-contrib。查找forforeachif 任务。

【讨论】:

  • 遗憾的是,没有任何“内置解决方案”可用于运行功能插件测试。 Cos 的 ant 编译所有插件,我认为应该有可能将这个过程划分为每个插件的编译部分并用插件做一些事情......
猜你喜欢
  • 1970-01-01
  • 2011-05-29
  • 2012-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多