如何让我的课程成为 google-test 课程的朋友?

新手上路,请多包涵

我听说有可能让 google-test TestCase 类朋友加入我的类,从而使测试能够访问我的私人/受保护成员。

如何做到这一点?

原文由 pajton 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 358
1 个回答

试试这个(直接来自谷歌测试文档……):

 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().
}

原文由 hobbit 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题