algorithm - 应用于私有(private)方法的单元测试

标签 algorithm unit-testing testing private-methods

我目前正在尝试创建一些类来进行一些傅立叶变换。 我尝试先创建一些单元测试,然后构建基本功能。

问题在于,我可以编写一个测试来查看算法是否有效,并且我知道预期的结果。然后我开始构建大算法,如果它有效,我的单元测试就会通过。

我的问题是,它并不是真正的 TDD。因为通常您创建测试来测试一个类的非常基本的特性。现在我的类(class)基本上执行一个大算法,我无法测试算法的较小部分,因为它们不是公开的(我一直被告知你永远不想测试私有(private)方法)。

你是怎么处理的?

最佳答案

我看到了 2 种可能的方式:

  1. 如果可能 - 将算法实现移至另一个类并将其拆分为方法。之后的测试方法。
  2. 只需编写一系列测试,涵盖可能的正常情况、边缘情况和错误情况。

关于algorithm - 应用于私有(private)方法的单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5692374/

相关文章:

c++ - 使函数具有全局范围,如编译器固有的

angularjs - Protractor 在转发器数组中按模型获取元素

java - 在 OATS Java(不是 javascript)中打开并最大化浏览器窗口

testing - 如何使用 XPATH 访问 TR 内的链接

unit-testing - 单元测试 XQuery

algorithm - 遗传算法中的变异步长

java - 在 Java 中实现朴素贝叶斯算法——需要一些指导

algorithm - 具有不同初始值的 Tribonacci 系列

c# - 如何将十进制值四舍五入到最接近的 0.05 值?

c# - 为什么我的某些单元测试会运行多次?