gTest&gMock learning

Posted rayrayrainrain

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了gTest&gMock learning相关的知识,希望对你有一定的参考价值。

在C++中,编写服务后的一种测试方式是使用google的gTest和gMock结合

之前写py,测试方式是将服务挂起,使用工具模拟请求发包,check resp,这样的缺点在于不方便,即使存下了所有的模拟请求,回头还是要按一遍,并且所做的测试并不能算作单元测试,而是集成

而使用test&mock的方式可以做到固定的单元测试

gTest:编写固定的单元测试代码,对每个c++的服务类进行测试

gMock:所测试的单元可能会有依赖的部分,我们当然是确保这些依赖项完全正确,那么就会面临一个局面:1 我们不能访问这些依赖项,因为单元测试。。 2 我们其实已经知道访问依赖项所得到的结果了

    而我们又不能去写死,这样会更改单元测试代码。 于是这样就催生出一种需求,得到一个黑盒,对进去的请求直接返回设置好的答案,可以理解为一个大的if-else,mock就是这样,在这个黑盒里面写好

    对于各种input的output(并非真的ifelse),代替依赖

以上是关于gTest&gMock learning的主要内容,如果未能解决你的问题,请参考以下文章

嵌入式平台gtest白盒测试

如何使用 GMock 模拟 OpenCV 相机,或者如何使用带有 GTest 的相机测试方法?

Gtest和Gmock使用指南 (3) - 简化掉main()函数

gmock函数参数输出 备忘录

Google Mock:测试对象的某个属性

如何解决 GTest 和 LibTorch 联动冲突