मैं परीक्षण चलाने के बाद किसी ऑब्जेक्ट की स्थिति की जांच करने का प्रयास कर रहा हूं। यह राज्य एक सेट में निहित है। क्या अपेक्षित राज्य को डीयूएनआईटीएक्स विशेषताओं का उपयोग करके टेस्ट केस में पास करना संभव है, ताकि मैं सभी अलग-अलग इनपुट के लिए एक ही परीक्षण का उपयोग कर सकूं?क्या मैं डुनिटेक्स में एक परीक्षण मामले में एक सेट पास कर सकता हूं?
मैंने सेट को निरंतर या सेट के रूप में पास करने का प्रयास किया, लेकिन मेरे टेस्ट दिनचर्या में यह हमेशा खाली सेट के रूप में आता है।
- क्या यह सब कुछ विशेषताओं का उपयोग कर संभव है?
- सेट्स समान होने पर आप कैसे परीक्षण करेंगे?
उदाहरण कोड:
type
TResult = (resOK,resWarn,resError);
TResultSet = set of TResult;
const
cErrWarn : TResultSet = [resWarn];
type
[TestFixture]
TMyTest = class(TBaseTest)
[Test]
[TestCase('Demo1','InputA,[resWarn]')] // <-- tried as a set
[TestCase('Demo2','InputB,cErrWarn')] // <-- tried as a constant
procedure Test(Input:string; ExpectedResult: TResultSet);
end;
procedure TMyTest.Test(Input:string; ExpectedResult: TResultSet);
begin
// ExpectedResult is always the empty set []
RunTests(MyObject(Input));
Assert.AreEqual(ExpectedResult, MyObject.ResultSet);
end;
मैं भी सरणी के रूप में अपेक्षित परिणाम को परिभाषित करने की कोशिश की है, लेकिन फिर भी DUnitX अब और परीक्षण फोन नहीं करता है। शायद यह "बहुत अधिक"
procedure Test(Input:string; ExpectedResult: array of TResult);
सबसे अच्छा मैं अब तक पहुंच सकता था निम्नलिखित दृष्टिकोण का उपयोग करना था। तीन तक का नमूना लें (यहां अपना पसंदीदा पूर्णांक डालें ...) अपेक्षित राज्यों और इन्हें अलग से जांचें। यह वास्तव में नहीं है कि मैं क्या उम्मीद कर रहा था, लेकिन यह चाल है।
procedure Test(Input:string; R1,R2,R3: TResult);
सहायता की बहुत सराहना की जाती है। :)
मैं तुम्हें था लगता होगा "IsTrue" का उपयोग करके जांच करनी है और फिर आइटम द्वारा तुलना आइटम बनाएं। –
जिसका मूल रूप से मतलब है कि मुझे सभी वस्तुओं को अलग-अलग पैरामीटर के रूप में पास करना होगा, जो मैं टालना चाहता था। –
मैं मूल रूप से उस से असहमत हूं। यूनिट परीक्षण का विचार यह है कि आप प्रत्येक परिदृश्य को अलग से जांचते हैं। इसका अर्थ यह है कि, आपके पास प्रति सेट मान के अनुसार एक टेस्ट विधि उचित होनी चाहिए: यदि एक परीक्षण में एक से अधिक मान की आवश्यकता होती है, तो आपको उन मानों को दस्तावेज करना चाहिए जिन्हें आप उम्मीद करते हैं और फिर अपने परीक्षण के लिए उपयोग करें। –