यदि आप नीचे दिए गए की तरह एक गिनती फ़ंक्शन का परीक्षण कर रहे थे, तो क्या इसे प्रत्येक फ़ंक्शन के लिए एक फ़ंक्शन फ़ंक्शन बनाम एक फ़ंक्शन में फ़ंक्शन के लिए एकाधिक चीज़ों का परीक्षण करने के लिए 'दाएं' या 'गलत' माना जाता है?एक परीक्षण में कई स्थितियों का दावा करें, या एकाधिक परीक्षणों में विभाजित करें?
function testGetKeywordCount() {
$tester = $this -> getDatabaseTester($this -> CompleteDataFile);
$tester -> onSetUp();
$KeywordID = 0;
$this -> setExpectedException('InvalidArgumentException');
$this -> keyword -> getKeywordCount($KeywordID,'Active');
$KeywordID = 1;
$this -> setExpectedException('InvalidArgumentException');
$this -> keyword -> getKeywordCount($KeywordID,'InvalidStatus');
$this -> assertEquals(1, $this -> keyword -> getKeywordCount($KeywordID,'Active'));
$tester -> onTearDown();
}
यदि मैं सही ढंग से समझता हूं, तो आप कह रहे हैं कि यह आसान है, हालांकि एक परीक्षण मामले में अधिक परिदृश्य रखने के लिए कम "सही" है। यदि इसका मतलब है कि आप एक परीक्षण मामले में कई परिदृश्य डाल रहे हैं क्योंकि कई परीक्षण केस बनाना बहुत अधिक काम है, तो मैं कहूंगा: अमूर्त, इसे एक और परिदृश्य बनाने के लिए आसान और अधिक DRY बनाना। परीक्षण प्रोग्रामिंग इम्हो भी है और इसे DRY जैसे समान सिद्धांतों के साथ कम या कम किया जाना चाहिए। –
इसके अलावा, प्रोग्रामिंग का एक और सिद्धांत केआईएस (इसे सरल रखें) है। मुझे यह और पसंद है। –