मैं एक विरासत कोड के लिए परीक्षण बना रहा हूं और सोच रहा हूं कि क्या इस तरह की कक्षा के सदस्य चर के मूल्यों की जांच करना संभव है (मुझे पता है कि नीचे मेरा कोड बहुत घटिया, खराब उदाहरण है: /। उम्मीद है कि कृपया प्रश्न पर ध्यान दें ):

class Animal
{
public:
   RESULT getInfo();
   int age_;
};

int main()
{
   Animal animal;
   RESULT result = animal.getInfo();

   return 0;
}

RESULT Animal::getInfo()
{
    age_ = rand() % 10 + 1;
    if (age == 5)
    {
        return success;
    }
    else
    {
        return fail;
    }       
}

और मेरे परीक्षण में (Google टेस्ट का उपयोग करके), मैं getInfo() को कॉल करता हूं:

EXPECT_EQ(success, sut_->getInfo());

हालांकि, यह केवल इस बात की पुष्टि करता है कि getInfo() का परिणाम success है। क्या मेरे लिए age_ का कोई नया तरीका जोड़े बिना/वापसी मूल्य को बदले बिना मूल्य की जांच करने का कोई अन्य तरीका है? धन्यवाद!

0
keechan 30 मई 2019, 06:03

1 उत्तर

सबसे बढ़िया उत्तर

जैसा कि आपने पहले ही age_ को सार्वजनिक कर दिया है, आप बस एक और EXPECT_EQ स्टेटमेंट जोड़ सकते हैं। यदि age_ को सार्वजनिक करना जानबूझकर नहीं किया गया था, तो आपको age_ को GTest कोड में एक्सेस करने के लिए एक विधि के साथ आना होगा।

3
Tejendra 30 मई 2019, 06:06