c++环境在mookcpp库下使用TEST_F宏使用MOCKER().expeacts(exactly(1))如何传入函数参数
时间: 2024-09-08 07:00:37 浏览: 24
在MooCpp库中,`TEST_F`宏用于创建C++测试用例,`MOCKER()`是一个mocking工具,`expects()`方法用于设置期望的行为,而`exactly(1)`表示预期该行为只发生一次。当你想模拟某个函数并传递参数给它时,你需要这样做:
```cpp
#include "your_test_fixture.h"
using namespace testing;
TEST_FYourTestFixture, YourTestCaseName) {
// 创建mock对象
auto mock_function = Mocker::create_mock<YourFunctionType>();
// 设置期望函数调用,指定参数
EXPECT_CALL(*mock_function, your_method(DesiredArgument1, DesiredArgument2))
.Times(1); // 指定只执行一次
// 在实际测试代码中调用mocked函数
mock_function->your_method ActualArgument1, ActualArgument2);
// 其他测试步骤...
}
```
这里,`YourFunctionType`是你想要模拟的函数类型的别名,`your_method`是你要模拟的具体方法名称,`DesiredArgument1`和`DesiredArgument2`是期望的函数参数,而在测试代码中通过`ActualArgument1`和`ActualArgument2`传入实际值。