如何对组合设计模式进行单元测试?

问题描述

我正在构建一个实现 Composition 设计模式的 Ruby gem。树状结构在层次结构中具有 3 个级别:Trunk、Branch、Leaf。 Branch 和 Leaf 各有一个对它们的 @parent 的引用。

为了生成测试数据,我使用了 FactoryBot。

Leaf 节点中的一些功能依赖于 Branch 和 Trunk 节点中的代码/数据。然而,在我最小的单元测试中,我只为叶节点生成测试数据,而不是填充整个树。

在这种情况下,编写叶单元测试以填充整个树而不是仅填充叶是最佳实践吗?我认为这是一个简单的解决方案,但这不会破坏隔离单元测试的目的吗?

或者,最好的做法是避免在单元测试中测试那些依赖对其父级调用的 Leaf 方法,而是将它们放在集成测试中?

感谢您的投入。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)