समस्या यह है कि ऑब्जेक्ट काफी जटिल है (अच्छी तरह से किसी भी दृढ़ता से टाइप की गई भाषा में) टाइपस्क्रिप्ट में मॉकिंग मुश्किल हो सकती है। उदाहरण के लिए आप आमतौर पर कोड संकलन करने के लिए कुछ अतिरिक्त सामानों का नकल करेंगे और सी # में, आप ऑटोफिक्चर या इसी तरह का उपयोग कर सकते हैं। दूसरी तरफ जावास्क्रिप्ट गतिशील भाषा है और परीक्षण के लिए आवश्यक वस्तु के केवल उस हिस्से का नकल करना संभव है।टाइपस्क्रिप्ट यूनिट परीक्षणों में मॉकिंग
तो टाइपस्क्रिप्ट यूनिट परीक्षण में मैं any
प्रकार का उपयोग करके अपनी निर्भरता घोषित कर सकता हूं और इस प्रकार आसानी से इसका मज़ाक उड़ा सकता हूं। क्या आप इस तरह के दृष्टिकोण की कोई कमी देखते हैं?
let userServiceMock: MyApp.Services.UserService = {
// lots of thing to mock
}
बनाम
let userServiceMock: any = {
user: {
setting: {
showAvatar: true
}
}
}
मैं दो पुस्तकालयों की तुलना एक लेख लिखा था: https://medium.com/@michal.m.stocki/when-it-comes-to-mocking-in-typescript-be8531d39327 – Terite
मैं लिखा है मेरा स्वयं का टूल जो इस समस्या को संभालता है, और मुझे इस पर कुछ प्रतिक्रिया पसंद आएगी: https://medium.com/default-to-open/unit-testing-with-angular-and-ineeda-76746a0c8f58 – phenomnomnominal