减少测试类中的代码行数(构建器-工厂模式)



我正在编写集成测试类,它有很多测试用例(50+)。我必须在每个测试方法中创建不同类型的多个对象。由于在每个测试中有大量的测试方法和多个对象创建,我的测试类变得非常庞大。我需要关于如何使它不那么冗长和可理解的建议。

到目前为止我所做的-我需要创建的对象是复杂的。例如,对象A有对象B,对象B有对象C的列表,对象C有一个字段- Value。我需要创建一个值为5的对象A实例。因此,我将所有这些代码移动到另一个类中,并使用方法- buildWithValue()将其称为builder。现在,在测试类中,我只需执行builder. buildwithvalue(5)。这从主测试类中删除了一些代码。

但现在我有多个这样的建设者BBuilder, CBuilder。我是不是应该把这些构造器都移到抽象构造器之类的?像GenericBuilder这样的东西,它将Builder类型和其他参数作为输入来构建对象,即使我这样做,行数也不会减少很多。

所以,我可以这样做-创建一个通用的生成器,它接受三个值(不同的数据类型)的方法- value1, value2, value3这是我的生成器,BBuilder和CBuilder所需要的。这样做的话,我的测试方法将只有一行GenericBuild.createObjects(A1,B1,C1)

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

请建议

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