2013-08-06 6 views
28

मुझे इकाई परीक्षणों में परीक्षण करने के लिए एक नकली सहायक वर्ग बनाने की आवश्यकता है (परीक्षण कक्षाओं में इंजेक्शन)। क्या इस तरह के वर्ग में टेस्टकेस दावे का उपयोग करने का कोई तरीका है?क्या टेस्टकेस के बाहर पाइथन यूनिट परीक्षण दावे का उपयोग करने का कोई तरीका है?

मैं नकली कक्षा द्वारा किए गए कुछ सामान्य चेक के लिए दावाों का उपयोग करना चाहता हूं। कुछ की तरह:

class FakeFoo(object): 

    def do_foo(self, a, b): 
    assertNotNull(a) 
    ... 
+0

संदर्भ: http://stackoverflow.com/a/5142453/758446 – BlackVegetable

+3

अंतर्निहित जोर कोई काम नहीं करेगा, लेकिन टेस्टकेस दावे अधिक वर्बोज़ हैं और अंतर्निहित पर कुछ फायदे हैं: http: //stackoverflow.com/q/2958169/1031601 –

+0

आप सही हैं; मैं एक संदर्भ देना चाहता था जो उसमें से कुछ को परिप्रेक्ष्य में रखेगा। मैं समाधान के रूप में प्रस्ताव नहीं दे रहा था। दूसरे लिंक के लिए धन्यवाद। :) – BlackVegetable

उत्तर

28

आप unittest.TestCase() का एक उदाहरण बना सकते हैं और उस पर तरीकों कॉल कर सकते हैं, तो आप वर्ग पर एक मौजूदा विधि के नाम पर पारित प्रदान की है। __init__ इस मामले में क्या होगा:

tc = unittest.TestCase('__init__') 
tc.assertIsNotNone(a) 

हालांकि, आप शायद एक अच्छा Mock library बजाय के लिए देख रहे हैं। mock एक अच्छा विकल्प होगा।

संबंधित मुद्दे

 संबंधित मुद्दे