c++ - Accessing protected variable in googletest -


मेरे पास यह कक्षा testC है जो Google परीक्षण के लिए है

  class testC: public A {};   

और उसके बाद एक ही फाइल में टेस्ट की गुच्छा है।

  परीक्षा (test_case_name, test_name) {... test body ...} < / कोड>  

ए इस तरह संरचित है

  वर्ग A {protected: B b; सार्वजनिक: // कन्स्ट्रक्टर // डिस्ट्रिक्टर // सदस्य कार्य   

प्रश्न: मैं b में सभी तक पहुँच कैसे कर सकता हूँ? TEST () {} कार्यों के माध्यम से testc

मैंने testc

  सार्वजनिक में एक getter करने की कोशिश की: testc getTest ( ) {टेस्टसी टेस्ट; वापसी परीक्षा; }   

और मैंने भी एक संदर्भ वापस करने की कोशिश की, लेकिन कोई भाग्य नहीं ...

मुझे लगता है कि आप googletest द्वारा प्रदान किए गए FRIEND_TEST मैक्रो का उपयोग कर सकते हैं नीचे उन्नत गाइड में देखें। असल में आपको परीक्षण के अंतर्गत कोड के एक दोस्त के रूप में परीक्षण घोषित करना होगा। अगर मैं गलत नहीं हूं तो आपको उन सभी परीक्षणों के लिए दोस्ती की घोषणा करनी होगी जो सुरक्षित सदस्यों का उपयोग करना चाहते हैं।

UPDATE : बेहतर लिंक के लिए धन्यवाद; -)

इस दृष्टिकोण से मुझे क्या नाराजगी है कि आपको परीक्षण के तहत कोड में FRIEND_TEST घोषणापत्र जोड़ना होगा। मुझे लगता है कि अगर आप संरक्षित / निजी सदस्यों के खिलाफ परीक्षण करना चाहते हैं, तो आपको वह कीमत चुकानी पड़ सकती है।

Comments

Popular posts from this blog

java - ImportError: No module named py4j.java_gateway -

python - Receiving "KeyError" after decoding json result from url -

c++ - Qt::make_shared for creating QSharedPtr as std::make_shared for creating std::shared_ptr -