c++ - gtest:使基础测试类成为测试类的朋友
问题描述
我的测试中有以下构造:
class FooType {};
class OtherFooType {};
using FooTypes =
::testing::Types<FooType, OtherFooType>;
TYPED_TEST_CASE(FooTest, FooTypes);
template <typename FooClassType>
class FooTest : public testing::Test {
TYPED_TEST(FooTest, SimpleTest) {
我也有课:
class Foo {
class OtherFoo : public Foo {
我Foo
想交朋友FooTest
。
我试过了:
template <typename FooTypes>
friend class FooTest;
在 Foo 类声明中,但来自 Foo 的受保护字段在 FooTest 中仍然不可见。我还需要做什么?
解决方案
我弄清楚我做错了什么。使 FooTest 成为友元类允许从 FooTest 内部的方法访问私有字段,但不能从单个测试用例访问。我必须在 FooTest 中添加允许访问 Foo 的访问器。
推荐阅读
- java - 使用和不使用调试器运行多线程程序有什么区别吗?除了明显的
- pine-script - 找到了一个我想使用的脚本,但是在应用它时出现了很多错误
- python - 如何将终端输出从某个文件夹(ls 命令)保存到 txt 文件?对于 Pycharm
- reactjs - Deck.GL ScatterplotLayer 不渲染圆半径
- node.js - 是否有人使用 Node 中的 zip 部署在基于消费的层中执行 Azure Function 中的函数部署?
- php - 在数组中使用“for循环”并为数组创建多个变量
- c - C fscanf 不加载整数但加载字符串
- odoo - odoo:如何根据条件使记录列表只读
- autodesk-forge - Autodesk Forge 是否支持渲染\查看 3D PDF 文件
- mysql - 如何使用 SQL 过程同时添加新属性和更新值?