用于创建Test对象图的模式?

时间:2010-08-31 10:37:45

标签: unit-testing design-patterns tdd nunit

我必须为需要复杂对象Graph的方法编写单元测试。目前我正在为每个测试编写一个Create方法,如下所示。

1. private static Entity Create_ObjectGraph_For_Test1()
2. private static Entity Create_ObjectGraph_For_Test2()
...... And So on

create方法有大约10个步骤,它们之间可能相差1-2步。创建复杂对象图的最佳方法是什么。除了为每个测试创建一个Create方法之外,我可以将参数添加到单个Create方法中,但如果测试结果大约为10左右,则可能会引起混淆。

2 个答案:

答案 0 :(得分:1)

您可以将步骤提取到方法中,可能会对它们进行参数化,并使它们可以链接,以便人们可以编写:

Entity myGraph = GraphFactory.createGraph().step1().step2(<parm>).step3(<parm>);

选择有意义的名称使得灯具可读。

答案 1 :(得分:1)

有可能将大量的常用设置代码放入 - 当然,还有setup()方法,然后针对每个单独的测试稍微修改对象图。如果不同测试的设置有很大不同,那么我建议您将测试分别放入单独的类中,并将它们设置到每个测试类中。