我的测试中有以下结构:
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的访问器。