मेरे पास कोड का एक हिस्सा है जो कुछ इस तरह दिखता है:
function bool PassesBusinessRules()
{
bool meetsBusinessRules = false;
if (PassesBusinessRule1
&& PassesBusinessRule2
&& PassesBusinessRule3)
{
meetsBusinessRules= true;
}
return meetsBusinessRules;
}
मेरा मानना है कि इस विशेष समारोह के लिए चार यूनिट परीक्षण होने चाहिए। तीन बयान में प्रत्येक स्थिति का परीक्षण करने के लिए और सुनिश्चित करें कि यह गलत है। और एक और परीक्षा जो सुनिश्चित करती है कि फ़ंक्शन सही है।
प्रश्न: क्या वास्तव में इसके बजाय दस यूनिट परीक्षण होना चाहिए? नौ जो संभावित विफलता पथों में से प्रत्येक की जाँच करता है। अर्थात:
- झूठा झूठा झूठा
- झूठा झूठा सच
- झूठा सच्चा झूठा
और इसलिए प्रत्येक संभव संयोजन के लिए।
मुझे लगता है कि यह ओवरकिल है, लेकिन मेरी टीम के कुछ अन्य सदस्य नहीं हैं। जिस तरह से मैं इसे देखता हूं अगर BusinessRule1 विफल हो जाता है तो इसे हमेशा गलत तरीके से लौटना चाहिए, इससे कोई फर्क नहीं पड़ता कि इसे पहले या आखिरी बार चेक किया गया था।