में 'पैरामीटरकृत' परीक्षण लिख सकता हूं, मैं डेल्फी लाइब्रेरी का परीक्षण करने के लिए डुनिट का उपयोग कर रहा हूं। मैं कभी-कभी मामलों में चलाता हूं, जहां मैं फ़ंक्शन में एकाधिक इनपुट जांचने के लिए कई समान परीक्षण लिखता हूं।क्या मैं डुनिट
क्या डुनिट में पैरामीटर परीक्षण के बारे में लिखने का कोई तरीका है (कुछ जैसा दिखता है)? उदाहरण के लिए एक इनपुट और अपेक्षित आउटपुट को उपयुक्त परीक्षण प्रक्रिया में निर्दिष्ट करने के लिए, फिर टेस्ट सूट चलाएं और परीक्षण के एकाधिक रनों में से कौन सा प्रतिक्रिया विफल हो रही है?
(संपादित करें: एक उदाहरण)
उदाहरण के लिए, मैं इस तरह दो परीक्षणों था:
procedure TestMyCode_WithInput2_Returns4();
var
Sut: TMyClass;
Result: Integer;
begin
// Arrange:
Sut := TMyClass.Create;
// Act:
Result := sut.DoStuff(2);
// Assert
CheckEquals(4, Result);
end;
procedure TestMyCode_WithInput3_Returns9();
var
Sut: TMyClass;
Result: Integer;
begin
// Arrange:
Sut := TMyClass.Create;
// Act:
Result := sut.DoStuff(3);
// Assert
CheckEquals(9, Result);
end;
मैं इन परीक्षणों कि लेकिन साथ बिल्कुल वही बात कर के और भी अधिक हो सकता है विभिन्न इनपुट और उम्मीदें। मैं उन्हें एक परीक्षण में विलय नहीं करना चाहता, क्योंकि मैं उन्हें स्वतंत्र रूप से पास या विफल होने में सक्षम होना चाहता हूं।
क्या आपका मतलब सूची में सभी इनपुट मानों के लिए परीक्षण मामलों की गतिशील रचना है? मेरा (छोटा) [ओपनसीटीएफ] (http://sourceforge.net/projects/openctf/) परीक्षण ढांचे में परीक्षण मामलों के गतिशील निर्माण के लिए कोड शामिल है। यह डुनिट पर आधारित है। – mjn
आप हमेशा टेस्टक्लास में एक सामान्य पैरामीटरयुक्त विधि लिख सकते हैं और एक या अधिक विशिष्ट (प्रकाशित) परीक्षण विधियों से कॉल कर सकते हैं। टेस्टकेस की चेक (नहीं) बराबर विधि (कोड) कोड कोड को संक्षिप्त रखने में मदद करने के लिए यहां भी मदद कर सकती है और फिर भी प्रत्येक परीक्षण के लिए एक विशिष्ट विफलता संदेश प्रदान करती है। –
@ मार्जन परीक्षण विधि निष्पादन को रोक देगा जैसे ही पहली जांच (नहीं) बराबर विफल हो जाती है - परीक्षण मामलों की गतिशील रचना इस समस्या को हल करती है, अन्य सभी मानों का अभी भी परीक्षण किया जाएगा – mjn