0

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

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

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

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

所以,我的问题是,maven 中是否有一种方法可以将一个或多个 TestCase 对象显式地添加到主 TestSuite(假设 maven 有一个),而不是通过反射让 maven 工作。

4

1 回答 1

0

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

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

于 2012-12-05T10:13:59.880 回答