将参数化测试明确添加到maven构建中

时间:2012-12-04 16:13:46

标签: unit-testing maven-2 junit

我正在尝试补充现有的ant构建以便项目 也用maven构建。我有大部分工作,但卡住了 有一些测试用例。

问题是某些测试是作为对象生成的 许多配置 - 实际上运行参数扫描所有 可用的值。因此,扩展TestCase的类具有 一个4 arg构造函数。 ant构建创建了多个这样的实例 测试,并将它们添加到TestSuite。

然而,maven构建失败了。问题是它正试图运行 测试类直接。它甚至无法构建它,因为它缺乏 单个arg构造函数。

重写测试类不是一种选择;主图书馆正在 由第三方开发,我不想分叉。我在尝试着 使用他们现有的设置,只添加它。

所以,我的问题是,在maven中有一种方法可以添加一个或多个TestCase 主要的TestSuite对象(假设maven有一个)显式 而不是通过反思来使作品。

1 个答案:

答案 0 :(得分:0)

好的,我确实设法解决了这个问题。 JUnit 4有一个专门的参数化测试运行器。所以我将maven构建移动到JUnit 4(ant构建仍在使用JUnit 3)。然后我必须编写一些自定义代码来生成构造函数参数列表,而不是ant构建代码生成的对象。最后,我在测试中添加了一些注释。

不幸的是,这意味着我必须修改ant测试代码,尽管至少这仅限于添加。不理想,但可行。