我有以下测试:
TestGet(): _interface(), _db(_interface)
{
_interface.get = mockGet;
}
在测试此类时使用:
class DB: public IDB
{
public:
explicit DB(Interface_T& interface):
_interface(interface)
{
}
...
private:
Interface_T _interface;
};
Interface_T 是在结构中实现并从 C api 传递给我的 C 接口。我希望使用 DB 类作为 C 接口的包装器。
但是请注意,DB 将接口对象复制到其成员 _interface。因此该行:
_interface.get = mockGet;
从 DB 对象的角度来看没有影响,尽管这是我编写测试类时的意图。你将如何重写 TestGet() 来纠正这个错误?您将如何向 DB 类的客户端展示它复制传递给它的值?