单元测试——不直接使用被模拟对象的Google Mock (c++)
unit testing - Google Mock without using the mocked object directly (C++)
我是Google Mock的新手。我有一个类A
,它使用类B
。我想写一个测试,将测试A
,不运行B
,因为B
使用外部世界。
我的问题:我如何调用A
上的测试,并让它使用B
的mock实例?
。
A a;
Mock_B mock_b;
EXPECT_CALL(mock_b, foo(4));
//test call of a
EXPECT_EQ(0, a.bar());
当我这样做时,a
使用B
而不是Mock_B
。
"我如何调用a上的测试,并让它使用B的mock实例?"
你不能,除非你改变A
类使用B
的接口,而不是直接使用class B
实例。
在这里有更深入的解释:Google Mock的初学者介绍。
相关文章:
- 如何使用Google Mock来模拟gettimeofday()
- gmock / google-mock发出警告,并且通过模拟异常未通过测试
- Google Mock:在目标类的构造函数中实例化的模拟私有变量成员
- Google Mock Expect_call将退休另一个期望
- Google-Mock 一个已经声明的方法
- Google Mock - 使用 CoTaskMemFree 时,测试返回没有结果
- 如何在内联回调函数中使用EXPECT_EQ和其他Google Mock语句
- C Google Mock -Expect_Call() - 期望在不直接调用时无法正常工作
- C++ 使用Google Mock进行高性能单元测试
- 我用纯虚拟方法和Google Mock做错了什么
- 使用 Google C++ 模拟框架 (Google Mock) (V1.5) 将任意参数传递给调用的方法
- 使用 google mock 模拟转换运算符 int()
- 如何使用Google Mock避免指针
- 如何将Given/Whin/Then模式与Mock一起使用(Google Mock)
- 如何使用Google Mock更改指定对象的类型
- 避免匹配.在Google Mock中多次WillOnce
- Compiling Google Mock for iOS
- 使用Google Mock实现Mock方法
- 使用Google Mock来模拟在客户端代码中复制的对象
- 在Google Mock上调用重载函数