C++
中类成员的访问控制有下面的一些级别,类会被客户端代码使用,也会被测试代码使用:
- public
- protected
- private
- friend
对于测试代码来说,我们也应该像其它客户端代码一样来使用类,不要采用任何侵入手段去越权访问类的成员。一个类的公开接口就像是一种契约,我们应该测试这种契约,而不是测试类的内部实现细节。
测试用例编写经验:
- 测试用例仅仅使用类公开的接口,独立与具体的类内部实现细节
- 当公开的接口不足以测试所有的功能,设计专门的额外的测试接口
- 也可以酌情公开一些接口来满足测试需求,设计文档需要说明该接口不要用于客户端代码
- 也可以设计辅助测试类为类的友元,因而可以访问类的所有的成员
- 友元的使用要控制粒度,范围