在单元测试中,伪造和存根用于创建测试隔离:伪造:模拟被测单元,控制行为并验证交互,用于替换外部或难以测试的依赖项。存根:特殊伪造,模拟函数或方法,始终返回固定值或执行指定动作,用于替换耗时或不稳定的依赖项。
C++ 单元测试中的伪造与存根的使用场景
在单元测试中,伪造和存根是创建测试隔离环境的两种强大技术。它们允许测试开发者在不依赖其他组件的情况下测试特定代码。
伪造(Mock)
伪造是为被测单元创建一个模拟版本,它可以控制其行为并验证其交互。伪造通常用于替换外部或难以测试的依赖项。
例如:
class UserService { public: virtual User GetUser(int id) = 0; }; class UserServiceMock : public UserService { public: MOCK_METHOD(User, GetUser, (int id), (override)); };