Ngu*_*Tâm 29 googletest googlemock
我对 gtest/gmock 进行了很多研究,但没有一个给我正确的答案。我是 C++ 新手,所以任何帮助都将不胜感激。
小智 55
所有文档都包含在官方 github repo 中。该底漆文件还包括有关测试宏的大量信息。您可以使用以下摘要和链接的示例来选择要使用的内容。
TEST()当您想为静态或全局函数或简单类编写单元测试时非常有用。示例测试
TEST_F()当您需要访问单元测试中的对象和子例程时非常有用。示例测试
TEST_P()当你想用参数编写测试时很有用。您可以使用TEST_P()which编写一个测试,而不是使用不同的参数值编写多个测试,getParam()并且可以使用INSTANTIATE_TEST_SUITE_P(). 示例测试
小智 7
我想我对这个问题的回答是:
在C++测试框架中,TEST、TEST_F和TEST_P是用于定义测试用例的宏。这是它们之间的区别:
TEST:该宏用于定义独立的测试用例。当您有一个不需要任何设置或拆卸代码的测试用例时,通常会使用它。
TEST_F:该宏用于定义一个测试用例,需要在运行测试之前设置一些固定装置并在运行测试后将其拆除。夹具是您想要在多个测试中使用的一组数据或对象。TEST_F 是“测试夹具”的缩写。
TEST_P:该宏用于定义带有参数的测试用例。当您想要使用不同的输入运行相同的测试时,通常会使用它。TEST_P 宏后面跟着一组传递给测试用例的参数。
总之,TEST 用于独立测试用例,TEST_F 用于带夹具的测试用例,TEST_P 用于带参数的测试用例。选择使用哪个宏取决于项目的具体测试需求和要求。