AddInventory () के लिए एक इकाई परीक्षण लिखें, जिसमें एक त्रुटि है। पैरामीटर स्वेटरशिपमेंट के साथ redSweater.addInventory() पर कॉल करें। यदि बाद की मात्रा गलत है तो दिखाई गई त्रुटि को प्रिंट करें। असफल इकाई परीक्षण के लिए नमूना आउटपुट दी गई प्रारंभिक मात्रा 10 है और स्वेटरशिप 50 है:

Beginning tests.
   UNIT TEST FAILED: addInventory()
Tests complete.

नोट: यूनिट परीक्षण विफल 3 रिक्त स्थान से पहले है।

हाँ, यह एक C++ प्रोग्रामिंग क्लास के लिए एक असाइनमेंट है। मैंने बिना किसी लाभ के निम्न वर्ग से विभिन्न सदस्य वस्तुओं को जोड़ने का प्रयास किया है, दुर्भाग्य से मैं फंस गया हूं और कुछ संकेत चाहिए, उत्तर नहीं, कैसे सीखना और आगे बढ़ना है। मेरे पास अब तक का कोड है:

#include <iostream>
using namespace std;

class InventoryTag {
public:
   InventoryTag();
   int getQuantityRemaining() const;
   void addInventory(int numItems);

private:
   int quantityRemaining;
};

InventoryTag::InventoryTag() {
   quantityRemaining = 0;
}

int InventoryTag::getQuantityRemaining() const {
   return quantityRemaining;
}

void InventoryTag::addInventory(int numItems) {
   if (numItems > 10) {
      quantityRemaining = quantityRemaining + numItems;
   }
}

int main() {
   InventoryTag redSweater;
   int sweaterShipment;
   int sweaterInventoryBefore;

   sweaterInventoryBefore = redSweater.getQuantityRemaining();
   cin >> sweaterShipment;

   cout << "Beginning tests." << endl;

   // FIXME add unit test for addInventory

   /* Your solution goes here  */
      redSweater.addInventory(sweaterShipment);
   if (redSweater.addInventory(sweaterShipment) != 50){
      cout << "   UNIT TEST FAILED: addInventory()\n";
   }

   cout << "Tests complete." << endl;

   return 0;
}

संपादित करें: हल किया गया, नीचे समाधान

   // FIXME add unit test for addInventory

   /* Your solution goes here  */
   redSweater.addInventory(sweaterShipment);
   if (redSweater.getQuantityRemaining() != sweaterShipment){
      cout << "   UNIT TEST FAILED: addInventory()\n";
   }
0
spacesalty 23 जिंदा 2020, 02:51

1 उत्तर

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

यूनिट परीक्षणों का सबसे सरल:

InventoryTag tag;
bool success = true;
TEST(tag.getQuantityRemaining() == 0, "initial quantity is zero");
tag.addInventory(1);
TEST(tag.getQuantityRemaining() == 1, "expected inventory is now 1");

जहां टेस्ट कुछ मैक्रो को निम्नानुसार परिभाषित किया गया है:

#define TEST(expression, msg) {if (!(expression)) {success = false; cout << "TEST_FAILED: " << msg << endl;}}
0
selbie 23 जिंदा 2020, 01:38