मैं अपनी डेल्फी परियोजनाओं पर नकली वस्तुओं का उपयोग शुरू करना चाहता हूं।आपकी पसंदीदा डेल्फी मॉकिंग लाइब्रेरी क्या है?
तो मेरे सवाल का एक अपने पसंदीदा और क्यों है क्या है:
एक त्वरित गूगल के बाद मैं उन मिल गया है?
मैं अपनी डेल्फी परियोजनाओं पर नकली वस्तुओं का उपयोग शुरू करना चाहता हूं।आपकी पसंदीदा डेल्फी मॉकिंग लाइब्रेरी क्या है?
तो मेरे सवाल का एक अपने पसंदीदा और क्यों है क्या है:
एक त्वरित गूगल के बाद मैं उन मिल गया है?
वाह, मैं पास्कलॉक प्रोजेक्ट लीडर हूं और पहली बार मैंने डेल्फी मॉक विज़ार्ड के बारे में सुना है! पास्कलॉक के लिए बहुत अच्छा जोड़ा।
हो सकता है कि कुछ अन्य लोगों के आसपास रहे हैं:
BTW आप भी कुछ छोटे नकली चौखटे है?
इसके अलावा पास्कलॉक खुला स्रोत है और योगदान या सुधार के विचारों का स्वागत है।
पुनश्च: CVS से नवीनतम PascalMock संस्करण 1.1 संस्करण में अतिरिक्त सुविधाएं जोड़ना, जैसे: RTTI
हालांकि यह स्थिर है की कम से कम x कॉल, PascalMock वर्षों में पर काम किया नहीं किया गया है उम्मीद है।
Delphi Mocks नामक एक नई नकली लाइब्रेरी है। यह केवल डेल्फी XE2 या नए के साथ काम करता है।
डेल्फी मॉक विज़ार्ड बस पास्कल मॉक के लिए जादूगर उत्पन्न करता है। वे प्रतिस्पर्धी कार्यान्वयन नहीं कर रहे हैं।
Dsharp आज़माएं। यह डेल्फी मोक्स की तरह है, लेकिन मेमोरी लीक के बिना।
आईएमएचओ डीएसएचएआरपी बेहतर है, हालांकि मैं पहले डेल्फी मोक्स से उत्साहित था।
हमारे मुक्त स्रोत mORMot framework अब ठूंठ या नकली किसी भी डेल्फी इंटरफ़ेस करने के लिए, अपने अस्थिर संस्करण में सक्षम है,।
सामान्य रूप से, यह समझाने का सबसे अच्छा तरीका है कि लाइब्रेरी क्या करती है इसका उपयोग करके कोड को देखना है। यहाँ एक उदाहरण की पुष्टि करने कि जब हम पर अमल परिदृश्य "अपना पासवर्ड भूल" के (RhinoMocks के साथ भेज दिया एक के समान) है, तो हम ठीक से Save()
विधि कॉल करने के याद किया:
procedure TMyTest.ForgotMyPassword;
var SmsSender: ISmsSender;
UserRepository: IUserRepository;
begin
TInterfaceStub.Create(TypeInfo(ISmsSender),SmsSender).
Returns('Send',[true]);
TInterfaceMock.Create(TypeInfo(IUserRepository),UserRepository,self).
ExpectsCount('Save',qoEqualTo,1);
with TLoginController.Create(UserRepository,SmsSender) do
try
ForgotMyPassword('toto');
finally
Free;
end;
end;
और ...यह सब कुछ है, क्योंकि सत्यापन तब होगा जब IUserRepository
उदाहरण जारी किया जाएगा।
उपलब्ध सुविधाएं (कुछ अन्य डेल्फी मजाक चौखटे की तुलना में अद्वितीय हैं):
var
और out
मानकों को वापस लौटाए गए मान के रूप में;संबंधित ब्लॉग लेख देखें:
"Delphi Mocks" पर एक नज़र डालें और "Delphi Mocks: The Basics"