c++ - 对更改私有成员变量的函数进行单元测试
问题描述
我有以下课程:
class foo {
public:
foo() : the_count(0) {}
~foo() = default;
void add_one_to_count() { the_count++; };
private:
int the_count;
};
在这个类中,一个公共函数改变一个私有成员变量。我怎样才能对它进行单元测试,以便在the_count
不创建 getter 函数的情况下验证它的值是什么?
解决方案
上面的讨论可以恢复为:
- 同样的老问题:如何测试私有函数/私有成员。相同的旧答案:基本上,您不必这样做。如果你真的需要它,它可能会说私有函数应该在单独的可测试代码中解耦。
拥有可测试的代码应该是初始设计的一部分。可测试代码:
尽可能无国籍
禁止无效功能。
避免副作用。
因为真正的程序经常需要有状态的东西和副作用,所以合适的方法是开发无状态的 - 没有副作用的功能,核心业务(算法,逻辑)已经完成,并通过单元测试对其进行测试。然后可以使用集成测试来测试使用单元测试逻辑的副作用和状态完整代码。
推荐阅读
- python - 使用python获取树莓派本地IP地址的位置
- c# - “已超出服务器实例的最大数量”是什么意思?
- android - 在安装 Flutter Doctor 时发现了 3 个类别的问题。错误
- c# - 在 sitecore 中自动取消发布归档项目
- reactjs - 谷歌地图反应标记不显示
- xslt - How to replace all occurences of an XML tag by its value in an SVG file
- angular - 使用角度材料日期选择器保存本地日期
- android - android自定义布局显示文件夹路径结构
- visual-studio-code - vscode - 在 1.31.0 版本中扩展文件夹
- batch-file - 如何自动化“刷新 cmd 窗口”?