मैं निम्नलिखित सेटअप:एक अजवाइन कार्यकर्ता चल रहा है unittest में
- Django-अजवाइन परियोजना एक रजिस्टर कार्य
foo
- परियोजना बी: कॉल करने के लिए
foo
- प्रोजेक्ट ए और परियोजना बी है अजवाइन के send_task का उपयोग करता है एक ही विन्यास: SQS, क्रमबद्धता, gzip, आदि के लिए msgpack
- प्रत्येक परियोजना एक अलग GitHub भंडार पर रहता है
मेरे पास प्रोजेक्ट ए में "foo" करने के लिए यूनिट-परीक्षण कॉल हैं, बिना सेलरी का उपयोग किए, केवल foo(1,2,3)
और परिणाम का दावा करें। मुझे पता है कि यह काम करता है।
मैंने यूनिट-परीक्षण किया है कि प्रोजेक्ट बी में send_task सही पैरामीटर भेजता है।
जो मैं परीक्षण नहीं कर रहा हूं, और आपकी सलाह की आवश्यकता है, दोनों परियोजनाओं के बीच एकीकरण है। मैं एक unittest कि होता है करना चाहते हैं:
- परियोजना एक
- के संदर्भ में एक कार्यकर्ता शुरू परियोजना बी
- जोर का कोड का उपयोग शुरू कर दिया कार्यकर्ता कि में पहला कदम हो जाता है एक कार्य भेजें कार्य, दूसरे चरण में भेजे गए पैरामीटर के साथ, और
foo
फ़ंक्शन अपेक्षित परिणाम लौटाता है।
पाइथन के उपप्रोसेस का उपयोग करके और कार्यकर्ता के आउटपुट को पार्स करके इसे हैक करना संभव लगता है, लेकिन यह बदसूरत है। इस तरह के मामलों में इकाई परीक्षण के लिए अनुशंसित दृष्टिकोण क्या है? कोई भी कोड स्निपेट जो आप साझा कर सकते हैं? धन्यवाद!
हमें समझने में सहायता करें, आप परीक्षण करना चाहते हैं कि कार्यकर्ता पक्ष पर क्या होता है? क्या यह कॉलिंग पक्ष से परीक्षण करने के लिए पर्याप्त नहीं है, और यदि सही उत्तर परिणाम परीक्षण की सफलता घोषित करते हैं? –