मैं एक वर्ग है कि एक संदर्भ पैरामीटर के रूप में एक बूलियन लेता है और एक पूर्णांक रिटर्न:गूगल नकली ByRef विधि
class Foo
{
public:
Bar my_bar;
virtual int myMethod(bool &my_boolean) = 0;
}
/*...*/
int Foo::myMethod(bool &my_boolean){
if (my_bar == NULL){
my_boolean = false;
return -1;
}
else{
my_boolean = true;
return 0;
}
}
और मैं इस वर्ग के लिए एक नकली बनाया:
class MockFoo : public Foo
{
MOCK_METHOD1(myMethod,int(bool &my_boolean));
}
मैं कैसे समारोह के इस प्रकार के लिए अपेक्षाएं सेट करने के बारे में समस्या हो रही है, क्योंकि मैं वापसी मान और ठीक से मेरी इकाई बनाने के लिए tests.How मैं gmock साथ समारोह के इस प्रकार के साथ सौदा कर सकते हैं विशिष्ट मूल्यों के संदर्भ पैरामीटर निर्धारित करने की आवश्यकता? मैंने जो कुछ सोचा था उसके बाद मैंने कोशिश की प्रलेखन पर समाधान के रूप में:
using ::testing::SetArgPointee;
class MockMutator : public Mutator {
public:
MOCK_METHOD2(Mutate, void(bool mutate, int* value));
...
};
...
MockMutator mutator;
EXPECT_CALL(mutator, Mutate(true, _))
.WillOnce(SetArgPointee<1>(5));
लेकिन या तो मैं उदाहरण से समझा नहीं गया था या यह पहले स्थिति इस तरह का whith निपटा इस case.Has किसी के लिए भी लागू नहीं किया गया?
अग्रिम धन्यवाद।
तब मैं आपके सवाल का क्या नहीं मिलता है। क्या आप अपनी समस्याओं का विस्तार कर सकते हैं? कोड मेरे लिए सही प्रतीत होता है। या आप जानना चाहते हैं कि संदर्भ पैरामीटर के लिए अपेक्षाओं को कैसे सेट करना है? 'ByRef() 'इसके लिए बिल्कुल ठीक होगा। –
+1 जो कुक पुस्तक के उदाहरणों से प्राप्त करना मुश्किल है। –