小编use*_*078的帖子

单元测试模式

我正在寻找以下单元测试用例的解决方案/模式.

案子:

让我们假设我们有三个类,A,B,C,每个类都有一个方法.A的方法调用B的方法,该方法调用C的方法.所以,A-> B-> C. 每种方法都采用一个输入(方法A的输入A,输入B,输入C).对方法A的调用的结果输出将是树结构,例如:

Root(从方法A创建) - 节点B(从方法B创建) - 节点C1 - 节点C2(都是从方法C创建的)

对我来说,单元测试是关于单独测试方法输入的输出.因此,我们将为上述每种方法编写单元测试.因为测试是单独编写的,所以我们在编写方法A的单元测试时模拟方法B,并在编写方法B的单元测试用例时模拟方法C.

到目前为止,一切都很好,我们可以在每个方法的输出上写下期望,以确保产生的树结构得到尊重.

问题:

现在让我们添加另一个类,它将调用方法B,以便我们也有以下调用链:D-> B-> C. 生成的根树将如下所示:

  • 根D
    • 节点B.
      • 节点C1
      • 节点C2

在开发过程中,有人意识到方法A的要求被误解了,树结果应该是这样的:

  • 根A
    • 节点B.
      • 节点C.

令人高兴的是,开发人员将更改方法C,以便输出仅返回一个节点而不是两个节点.他会改变单元测试,以便反映这些变化.但是,方法D要求不应该改变,并且该方法的输出应该仍然具有节点C1和节点C2.

问题:

您将如何编写单元测试,以便第二个开发人员可以提醒他为方法D引入的更改?我宁愿避免在这里看起来最合适的集成测试.

谢谢.

unit-testing design-patterns

5
推荐指数
1
解决办法
244
查看次数

标签 统计

design-patterns ×1

unit-testing ×1