|
|
1
49
试试这个(直接从谷歌测试文档…):
|
|
2
35
我知道这很古老,但我今天也在寻找同样的答案。” gtest_prod.h “只是引入了一个简单的宏来引用测试类。
所以呢
这是因为如前一个答案所述,每个测试都是自己的类。 |
|
|
3
7
允许好友测试访问私有成员将导致代码库很难维护。在重构组件的内部实现细节时中断的测试不是您想要的。如果将额外的精力放在设计上,使组件可以通过其公共接口进行测试,那么您将得到只需要在组件的公共接口更新时进行更新的测试。
测试依赖于
|
|
|
4
4
当您的测试类和您的测试类位于不同的命名空间中(例如,您的测试位于全局命名空间中)时,您可能需要向前声明您的测试类,并在FRIEND\u test中添加命名空间前缀:
我知道,朋友单元测试(或者C++中的友好性)和白盒测试是一个有争议的主题,但是当你处理复杂的科学算法时,你需要测试和验证的每一步,但是你不想公开(甚至是受保护的)接口,朋友测试在我看来是一个简单而实用的解决方案,尤其是在测试驱动的开发方法中。如果使用友好性或白盒测试违背了自己的宗教信仰,那么以后重构代码(或者完全删除白盒测试)总是有可能的。 |
|
|
upsidedownone · 链接器处对“fff”的未定义引用 2 年前 |
|
|
gruszczy · gtest:预计_最终 2 年前 |
|
|
C0D3R · 如何重复模拟相同的函数并检查每个调用中的参数? 8 年前 |
|
|
Shereif SRF · 如何使用gtest到另一个测试的返回值 8 年前 |