【发布时间】:2015-09-04 16:13:54
【问题描述】:
我一直在阅读有关 Mocks 和 Stubs、它们的区别和用途的信息。我仍然有点困惑,但我想我已经掌握了它的要点。
现在我想知道应用程序。我可以看到在测试场景中创建“假”对象的用途,其中实际对象太复杂而无法测试一个方面。
但是让我们考虑一下我的应用程序:我正在开发一个计算几何库。我们的库定义了点、线、线段、向量、多边形和多面体,以及一堆其他对象和所有常见的几何操作。任何给定的对象都存储为点或方向的列表或较低级别的对象。但是这些对象的生成时间都不超过几毫秒。
当我测试这个库时,在任何地方使用 Mocks/Stubs 有意义吗?
现在我们只使用特定的测试用例。我们称它们为存根,但我认为它们不符合存根的技术定义。你认为更好的词汇是什么? “测试用例”? “例子”?
源码:https://bitbucket.org/Clearspan/geometry-class-library/src
编辑:请注意,我们正在努力在所有几何对象中实现不变性,因此仅测试操作结果才有意义,而不是初始对象的状态更改。
【问题讨论】:
标签: c# unit-testing mocking stubs geometry-class-library