繁体   English   中英

吸气和二传手vs FRIEND_TEST

[英]Getters and Setters vs FRIEND_TEST

我知道这对UT来说不是很好的课程设计,但是...

如果有需要测试的受保护变量,那么仅使用FRIEND_TEST在测试中获取/设置这些变量会更好吗? 还是应该为每个变量创建getter和setter方法?

例如

class Dog
{
public:
//some methods

protected:
   int age;
   std::string color;
   std::string breed
}

声明FRIEND_TEST不需要太多开销,这与我将为每个== 6个新方法创建getter和setter的方法不同! 但是,更正确的解决方案是什么?

如果您只需要一个班级即可访问您的受保护成员,请使用好友班级。 这是C ++中的绝对规则。

在类中添加getter和setter只会增加开销,在最佳情况下,编译器会删除它。

如果您想要有关朋友课程的更多信息, 链接将非常有用。

  1. FREIND_TEST不是一个好的解决方案,因为您无法真正控制谁可以访问受保护的成员。
  2. 您可以将被测试的类定义为测试器类的内部类。 仅在测试版本上启用此嵌套。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM