我目前正在尝试创建一些类来进行一些傅立叶变换。 我尝试先创建一些单元测试,然后构建基本功能。
问题在于,我可以编写一个测试来查看算法是否有效,并且我知道预期的结果。然后我开始构建大算法,如果它有效,我的单元测试就会通过。
我的问题是,它并不是真正的 TDD。因为通常您创建测试来测试一个类的非常基本的特性。现在我的类(class)基本上执行一个大算法,我无法测试算法的较小部分,因为它们不是公开的(我一直被告知你永远不想测试私有(private)方法)。
你是怎么处理的?
最佳答案
我看到了 2 种可能的方式:
- 如果可能 - 将算法实现移至另一个类并将其拆分为方法。之后的测试方法。
- 只需编写一系列测试,涵盖可能的正常情况、边缘情况和错误情况。
关于algorithm - 应用于私有(private)方法的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5692374/