विशेषता तर्क (Result
के लिए) निरंतर अभिव्यक्ति होना चाहिए। आप अब जैसी वस्तुओं को नहीं बना सकते हैं।
TestCase
विशेषता का उपयोग उन मामलों के परीक्षण के लिए अच्छा है जहां आपको कई सरल इनपुट/आउटपुट सत्यापित करने की आवश्यकता है। - वे काफी अच्छा उदाहरण प्रदान
[TestCase(6, Result = "GBP")]
[TestCase(7, Result = "USD")]
[TestCase(8, Result = "CAD")]
public string CanGetCurrencyById(int id)
{
ICurrencyRepo currencies = new RepoFactory().CreateCurrencyRepo(_session);
Currency c = currencies.GetById<Currency>(id);
return c.Code;
}
इसके अलावा, TestCase
documentation पर एक नज़र डालें: अपने scenarion में, आप फिर भी (अर्थात, यदि आप केवल कि क्या इड-कोड मानचित्रण सत्यापित करने के लिए योजना बना रहे हैं) कुछ इस तरह कर सकते हैं ।
संपादित: मानचित्रण परीक्षण करके मैं पुष्टि करने के रूप में आप का इरादा है कि क्या आपकी ORM मैपिंग (NHibernate डेटाबेस के लिए) सही है और काम कर रहे हैं मतलब है। आप आम तौर पर परीक्षण है कि इस परिदृश्य में:
- पूर्वनिर्धारित मान (। जैसे
Currency
)
- प्रारंभ नई लेन-देन
- सहेजें इकाई (
Save
+ Flush
+ Evict
संयोजन के साथ नई इकाई इंस्टेंस बनाएं सुनिश्चित करने के लिए NHibernate नहीं है दुकान अब और कैश में इकाई बचाया) इकाई
- पुनः प्राप्त
- पूर्वनिर्धारित लोगों के साथ लिया गया मानों की तुलना करें
- रोलबैक लेनदेन
इस तरह के परीक्षण तो गुजरता है, यह कम या ज्यादा आपको बताता है कि मैं उन मूल्यों के साथ इस इकाई को बचा सकता है, और मैं तो बिल्कुल एक ही मूल्यों के साथ पुनः प्राप्त कर सकते हैं। और यह सब आप जानना चाहते थे - मैपिंग सही हैं।
TestCase
विशेषता के साथ, संपूर्ण वस्तुओं की शुद्धता की पुष्टि करना काफी मुश्किल है - इसका मतलब सरल सामानों का परीक्षण करना है। आप अन्य उत्तर में सुझाए गए वर्कअराउंड का उपयोग कर सकते हैं (TestCase
के माध्यम से तर्क पारित करना) लेकिन यह जल्दी से अपठनीय और बनाए रखने के लिए कठिन हो जाता है (सत्यापित करने के लिए 6+ गुणों वाली इकाई की कल्पना करें)।
मैं एक है कि पुष्टि करता है कि क्या code
को id
की मैपिंग सही है में अपने परीक्षण के बंटवारे का सुझाव (हालांकि मुझे लगता है कि ऐसा करने में थोड़ा बात देखते हैं, जब तक आप कुछ कोड को मैप किया कुछ आईडी के लिए हमेशा योजना) और अन्य एक की पुष्टि करने चाहे Currency
इकाई डेटाबेस तालिका में ठीक से मैप की गई है।
स्रोत
2012-01-15 12:55:00
धन्यवाद, क्या आप समझा सकते हैं कि मैं एकाधिक ऑब्जेक्ट्स का परीक्षण कैसे कर सकता हूं? मैपिंग परीक्षण क्या है? –
@ मार्क: मैपिंग टेस्ट करके आप सत्यापित करते हैं कि ओआरएम मैपिंग सही हैं (उदाहरण के लिए कि यदि आप 'डेटटाइम' प्रॉपर्टी सेट के साथ इकाई को सहेजते हैं, तो इसे किसी भी सूचना हानि के बिना मैप और सहेजा जाता है)। मेरा संपादन देखें। –