关于gmock一点说明

      本想把应用程序中,涉及到网络的类Mock一下,查看了Mock的文档发现,Mock只能Mock Virtual的函数。而我的应用程序里,大多数函数不是Virtual的。

      在\googletest-release-1.8.1\googlemock\docs\CookBook.md里, ## Mocking Nonvirtual Methods ##部分讲到了如何Mock非Virtual函数,可是还是需要修改源码。。。

     所以暂时放弃了Mock~~

 

#ifndef __ZKOS_MOCK_SERVICEPROXY_H_ #define __ZKOS_MOCK_SERVICEPROXY_H_ #include <functional> #include <memory> #include <string> #include "serviceproxy_if.h" #include <gmock/gmock.h> #include <gtest/gtest.h> namespace zkos::service { class MockServiceProxy : public ServiceProxy { public: MOCK_METHOD(void, RegisterServiceState, (const ServiceStateHandler& handler), (override)); MOCK_METHOD(void, RegisterSubscriptionState, (const SubscriptionStateHandler& handler), (override)); MOCK_METHOD((zkos::core::Result<Response>), MethodCallSync, (const Request& request, std::chrono::milliseconds timeout), (override)); MOCK_METHOD((zkos::core::Result<void>), MethodCallAsync, (const Request& request, std::chrono::milliseconds timeout, (const std::function<void(const Response& response)>& on_responsed)), (override)); MOCK_METHOD((zkos::core::Result<void>), Subscribe, (const TopicDesc& topic, const SubscriptionOption& option, const PublishReceiver& on_published), (override)); MOCK_METHOD((zkos::core::Result<void>), UnSubscribe, (const TopicDesc& topic), (override)); MOCK_METHOD((zkos::core::Result<void>), SubscribeList, ((const std::map<TopicDesc, SubscriptionOption>& topic_list), (const std::function<void(const TopicDesc& topic_description, const PublishData&)>& on_published)), (const , override)); MOCK_METHOD((zkos::core::Result<void>), UnSubscribeList, (const std::vector<TopicDesc>& topic_list), (const, override)); MOCK_METHOD((zkos::core::Result<void>), RegisterDeserializer, (const std::string& name, Deserializer::UniquePtr deserializer), (override)); MOCK_METHOD(SubscriptionState, GetSubscriptionState, (const TopicDesc& topic), (const, override)); MOCK_METHOD((zkos::core::Result<ServiceState>), GetServiceState, () ,(const, override)); }; } // namespace zkos::service #endif // __ZKOS_MOCK_SERVICEPROXY_H_
03-25
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值