असल में मैं थोड़ी देर के लिए प्रोग्रामिंग कर रहा हूं और मेरी आखिरी परियोजना को खत्म करने के बाद पूरी तरह से समझ सकता है कि अगर मैं टीडीडी करता तो कितना आसान होता। मुझे लगता है कि मैं अभी भी इसे सख्ती से नहीं कर रहा हूं क्योंकि मैं अभी भी कोड लिख रहा हूं और इसके लिए एक परीक्षण लिख रहा हूं, मुझे यह नहीं पता कि परीक्षण कोड से पहले कैसे होता है यदि आप नहीं जानते कि कौन सी संरचनाएं और आपका भंडारण डेटा आदि कैसे है। ... लेकिन वैसे भी ...यूनिट परीक्षण - क्या मैं इसे सही कर रहा हूं?
समझाने के लिए कड़ी मेहनत की लेकिन मूल रूप से उदाहरण के लिए कहें कि मेरे पास एक फल वस्तुएं हैं जैसे आईडी, रंग और लागत। (सभी textfile में संग्रहीत पूरी तरह से किसी भी डेटाबेस तर्क आदि पर ध्यान न दें)
FruitID FruitName FruitColor FruitCost
1 Apple Red 1.2
2 Apple Green 1.4
3 Apple HalfHalf 1.5
यह सब सिर्फ उदाहरण के लिए। लेकिन मान लें कि मेरे पास यह संरचना Fruit
का संग्रह है (यह List<Fruit>
है) इस संरचना में ऑब्जेक्ट्स। और मेरा तर्क संग्रह में फलों को पुन: व्यवस्थित करने के लिए कहेंगे यदि एक फल हटा दिया जाता है (यह केवल समाधान की आवश्यकता है)।
उदा। यदि 1 हटा दिया गया है, तो ऑब्जेक्ट 2 फल आईडी 1 लेता है, ऑब्जेक्ट 3 फल id2 लेता है।
अब मैं कोड Ive लिखा जो पुनर्व्यवस्था करता है परीक्षण करना चाहते हैं, आदि
मैं इस परीक्षण करना सेट कर सकते हैं?
यहां पर मुझे अभी तक मिल गया है। असल में मेरे पास फल मैनेजर क्लास है, जैसे डिलीवरीफ्रूट, इत्यादि। इसमें आमतौर पर सूची होती है लेकिन मैंने इसका परीक्षण करने के लिए एचटीई विधि बदल दी है ताकि यह एक सूची स्वीकार करे, और फल को हटाने के लिए जानकारी को स्वीकार कर ले, फिर सूची लौटाएं।
यूनिट-परीक्षण के अनुसार: क्या मैं मूल रूप से यह सही तरीके से कर रहा हूं, या क्या मुझे गलत विचार है? और फिर यह सुनिश्चित करने के लिए कि विधि ठीक तरह से काम कर रही है, मैं अलग-अलग मूल्यवान वस्तुओं/डेटासेट को हटाने का परीक्षण करता हूं।
[Test]
public void DeleteFruit()
{
var fruitList = CreateFruitList();
var fm = new FruitManager();
var resultList = fm.DeleteFruitTest("Apple", 2, fruitList);
//Assert that fruitobject with x properties is not in list ? how
}
private static List<Fruit> CreateFruitList()
{
//Build test data
var f01 = new Fruit {Name = "Apple",Id = 1, etc...};
var f02 = new Fruit {Name = "Apple",Id = 2, etc...};
var f03 = new Fruit {Name = "Apple",Id = 3, etc...};
var fruitList = new List<Fruit> {f01, f02, f03};
return fruitList;
}
यदि मैं इस प्रश्न के लिए – UpTheCreek
था, तो मैं आईडी को पुन: असाइन नहीं करूंगा, या कह सकता हूं कि उदाहरण के लिए फल हटा दिए जाने पर मूल्य फ़ील्ड अपडेट हो सकता है ... कुछ – baron
CreateFruitList() में, मुझे मिल जाएगा fXX चर से छुटकारा पाएं और सीधे सूची में नए फल जोड़ें ('fruitList.add (नया फल (...))')। बस एक मामूली quibble। –