2010-04-08 65 views
2

我和他们之间的依赖关系的一组的NetBeans Java项目的NetBeans的JUnit测试。我将依赖关系树顶部的项目添加到Hudson中以进行持续集成。一切工作正常,除了依赖项目的单元测试不被Hudson运行。这是因为NetBeans创建的ant脚本具有依赖项目设置来运行“jar”目标,而不是运行单元测试的目标。我可以在Hudson中为每个依赖项目添加ant构建步骤来运行单元测试,但我希望有一个更简单的解决方案。哈德森CI项目将无法运行依赖项目

回答

1

在我看来,像有对此没有简单的解决方案,据我可以告诉。我的解决方案将使用Maven来管理依赖关系。这种方式至少不需要冗余地管理依赖关系。 NetBeans和Hudson都能很好地与Maven集成。

0

我假设你有你的主要工作和所有相关的工作在哈得逊成立单独调用Ant脚本。哈德森必须知道每项工作之间的依赖关系。这将是“构建触发器” - >“构建其他项目之后构建”和“构建后行动” - >“构建其他项目”下的项目。

每这些工作都需要独立运行JUnit测试,并生成JUnit的XML输出到一个目录。

你会打开“生成后操作” - >“发布JUnit测试结果报告书”中的所有作业(主要和所有相关的)的。

然后,在您的父级主要工作中,您应启用“后构建操作” - >“汇总下游测试结果”,使其将JUnit输出合并到父级作业的结果中。

这应该给你的主要工作所有测试结果的呈现为主要和任何相关的项目。

+0

正如我的问题所述,我只在依赖关系树的顶部添加了项目到Hudson。哈德森没有依赖性工作。我明确表示我不想这样做,因为我不想在我的Hudson配置中使用冗余项目依赖信息。查看我的答案以获得解决方案。 – 2010-04-21 03:22:06