我听说有可能让 google-test TestCase 类 friend 加入我的类,从而使测试能够访问我的私有(private)/ protected 成员。
如何做到这一点?
最佳答案
试试这个(直接来自 Google 测试文档...):
FRIEND_TEST(TestCaseName, TestName);
例如:
// foo.h
#include <gtest/gtest_prod.h>
// Defines FRIEND_TEST.
class Foo {
...
private:
FRIEND_TEST(FooTest, BarReturnsZeroOnNull);
int Bar(void* x);
};
// foo_test.cc
...
TEST(FooTest, BarReturnsZeroOnNull) {
Foo foo;
EXPECT_EQ(0, foo.Bar(NULL));
// Uses Foo's private member Bar().
}
关于c++ - 如何让我的类(class)成为 google-test 类(class)的 friend ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2396370/