【发布时间】:2016-03-25 20:08:32
【问题描述】:
这是使用 Bonjour 的网络中设备发现库的类设计。我需要使用 GTest 为其开发测试用例。我是 GTEst 的新手。
客户端程序需要实现IDeviceEnumerationCallback来接收设备信息
-
回调会在间隔时间和频率之后被调用 假设间隔为 200 毫秒,频率为 2。它会在 200 毫秒后调用两次回调。
class IDeviceEnumerationCallback { public: /* This callback is called when Device are Enumerated and is regsitered in EnumerateWiFiDevice method */ virtual void onDeviceDiscovered( DeviceInfo* pDeviceInfo,unsigned short nNoOfDevice,void* pContext) = 0; }; IDeviceDiscovery { virtual int InitialiseDeviceDiscovery(IDeviceEnumerationCallback*) = 0; virtual void UnInitialiseDeviceDiscovery() = 0; virtual int EnumerateDevice() = 0; virtual void SetDiscoveryInterval(unsigned long nDiscoveryInterval); virtual void SetDiscoveryFrequency(unsigned short nFrequency); virtual unsigned long GettDiscoveryInterval(); virtual unsigned short GettDiscoveryFrequency(); } class CDeviceDiscovery : public IDeviceDiscovery { // implemenation }
当我为 EnumerateDevice() 开发单元测试时,它会立即返回说 -1 或 1。但是结果会在回调中返回。如何知道使用 GTest 是否正确枚举了设备。 我需要 GTest Mock Here 吗??
【问题讨论】:
标签: c++ unit-testing googletest