先从VideoCaptureInputTest分析VideoCaptureInput的用法,后续再分析具体实现。
VideoCaptureInputTest的实现,依赖google的gmock/gtest单元测试框架:
gmock:
http://code.google.com/p/googlemock/wiki/CheatSheet
http://blog.youkuaiyun.com/russell_tao/article/details/7344739
http://www.2cto.com/kf/201406/307020.html
MOCK_METHOD#1(#2, #3(#4) )
#1表示被mock的函数参数个数,#2表示被mock的函数名称,#3表示被mock的函数返回值,#4表示被mock的函数参数列表<span style="font-family:Arial;">ON_CALL(#1, #2(#3)).WillByDefault(Return(#4));</span>
#1表示mock对象。定义了一个Mock类,那么就必须生成相应的mock对象#2表示想定义的那个方法名称。
#3表示#2方法的参数,只有调用#2方法,同时传递参数为#3时,才会用到ON_CALL的定义。
#4表示调用#2方法,同时传递参数为#3时,返回#4这个变量的值。
<span style="font-family:Arial;">EXPECT_CALL(mock_object, method(matchers))
.Times(cardinality)
.WillOnce(action)
.WillRepeatedly(action);</span>
第一个参数是mock对象,第二个参数是mock函数名及其参数。二者中间是以逗号;宏后面还可以紧跟若干语句,

本文详细解析了VideoCaptureInput的实现方式,包括构造函数、SetUp、AddInputFrame、AddOutputFrame、WaitOutputFrame等关键步骤。通过使用gmock/gtest单元测试框架,对输入输出进行打桩,实现对VideoCaptureInput的全面测试。测试用例涵盖数据输入编码输出过程,确保处理逻辑的正确性。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



