TEST、TEST_F 和 TEST_P 有什么区别?

What is the difference between TEST, TEST_F and TEST_P?

我对 gtest/gmock 进行了很多研究,但其中 none 给了我正确的答案。我是 C++ 的新手,所以非常感谢任何帮助。

所有文档都包含在 official github repo. The primer documentation 中,还包含很多关于测试宏的信息。您可以使用以下摘要和链接的示例来选择您要使用的内容。

TEST() 当您想为静态或全局函数或简单的 类 编写单元测试时很有用。 Example test

当您需要访问单元测试中的对象和子例程时,

TEST_F() 很有用。 Example test

TEST_P() 当你想用参数编写测试时很有用。您可以使用 TEST_P() 编写一个使用 GetParam() 并可以使用 INSTANTIATE_TEST_SUITE_P() 实例化的测试,而不是使用不同的参数值编写多个测试。 Example test