???????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????Щ???????????????????Ρ??о???????????????????????????????????????????????????????????????????????????????????????????????????????Щ???????????????????

???????????

?????????????????????????????????飬????????????????д?????????????????????????????????????е??????????????????????????С????????????????????????????case?????????????е?????????OK????????????????????????????????飬???????鶼??????????????????????????????????

???????????????????????????????????£?????????鶼????????????????????????????????????????????????????????????????????????????????????????????????????Ч??????????????????????п??????????????????????????????????????????????????????????????????鷳??server?????????ε????????????server??????????????????????

??????????????????У??????????????????????????ü????????棬?????mock??????mock??????????????????????????DEBUG?????У??????μ??????mock?????????DEBUG?????У???????????????????????????????δ????“??????????????”??DEBUG????????滻?“??????????????”?????????е?????????????????????????????????????????????????????????????fetch_data_from_network()??????????????????Ρ?

#ifndef DEBUG_MODE
    fetch_data_from_network();
#else
    fetch_data_from_local_memory();
#fi

??????ú?????????????????????????????????????C++?????????????????????????????????????????????????????mock??????????δ???DataManager??????????????????????????????????????????????????MockDataManager??????????DataManager?????????????????????????????????????DataManager?????????MockDataManager??????????У?????????????????????????·???????·???????????????????????????????????????????????????google test??google mock?????????????mock???????????????????????????????????

class DataManager {
public:
   DataManager();
   ~DataManager();
   virtual int fetch_data()
   {
       fetch_data_from_network();
   }
   ...
};

class MockDataManager : public DataManager {
public:
   virtual int fetch_data()
   {
       fetch_data_from_local_memory();
   }
};

?????????????????????????????????????????????к???????????????????????·????????????????????д?????????????????????????????????????????????????????????????????η?????????????????????????mock?????????????????????????????????????????????????????????????????????????????????