0
比方說,我有一個這樣的模擬:如何驗證Google Mock中兩個char *是否相等?
class MockSocket : public Socket
{
public:
MOCK_METHOD1(Write, bool(Packet *p));
};
而且我要測試是否Write方法被調用,滿足以下條件的對象:
- 1)當我打電話了這個對象上的get_QL()函數我收到0作爲 返回值
- 2)當我調用get_MAC()函數時,我收到一個uint8_t * ,我知道它的長度爲6,但沒有字符串終止符。
如何在GMock中編寫第二個條件? 我嘗試過這樣的事情,但第二個屬性無法正常工作。
EXPECT_CALL(ms, Write(AllOf(Property(&ESMCPacket::get_QL, 0), Property(&ESMCPacket::get_MAC, (mmac_source1))))).Times(1);
謝謝I'e已經找到了解決方案,它是通過寫作我自己的匹配器:) –