减少测试类中的代码行数(Builder - Factory pattern)

时间:2015-09-26 10:00:44

标签: java integration-testing builder factory-pattern

我正在编写集成测试类,它有很多测试用例(50+)。我必须在每个测试方法中创建不同类型的多个对象。由于每个测试中都有大量的测试方法和多个对象创建,因此我的测试类变得非常笨重。我需要一些建议,如何让它更简洁,更容易理解。

到目前为止我做了什么 - 我需要创建的对象很复杂。例如,对象A具有对象B,对象B具有对象C的列表,其具有字段 - 值。我需要创建一个值为5的Object A的实例。所以我将所有这些代码移动到另一个类,并使用Method - buildWithValue()将其称为ABuilder。现在在测试类中我只做Abuilder.buildWithValue(5)。这从主要测试类中删除了一些代码。

但现在我有多个这样的建设者BBuilder,CBuilder。我可以将所有这些构建器移动到抽象构建器或其他东西吗?像GenericBuilder这样的东西,它作为输入构建器类型和其他参数来构建一个对象,即使我这样做,行数也不会减少很多。

那么,我可以这样做 - 使用一个方法创建一个通用构建器,该方法接受三个值(不同的数据类型) - 我的ABuilder,BBuilder和CBuilder所需的value1,value2,value3。这样做我的测试方法只有一行GenericBuild.createObjects(A1,B1,C1)

或者我是否应该根据某些标准将测试类分成两部分?

请建议

1 个答案:

答案 0 :(得分:0)

而不是构建器模式,我允许构建和持久化嵌套对象为JSON,XML或任何人和​​机器可读的格式。您可以在文本编辑器中轻松创建新对象,将文本文件放在/ src / test / resources文件夹中(例如,如果您正在使用maven)并在测试用例中根据需要构建它们。