2017-05-16 6 views
6

मैं एक मूल Azure फ़ंक्शन का परीक्षण करने की कोशिश कर रहा हूं। फंक्शन रन रन विधि को TraceWriter तर्क की आवश्यकता होती है; TraceWriter एक अमूर्त वर्ग है और मुझे इस निर्भरता का मज़ाक उड़ाने के लिए दस्तावेज़ीकरण के मामले में बहुत कुछ नहीं मिल रहा है।यूनिट परीक्षण Azure फ़ंक्शन: TraceWriter का उदाहरण नहीं बना सकता है, नकली कैसे करें?

यहाँ विधि मैं परीक्षण करने के लिए प्रयास कर रहा हूँ के हस्ताक्षर है:

public static void Run(string myQueueItem, TraceWriter log) 

जबकि परीक्षण या एक ओवरलोड भागो विधि बनाने मैं बस TraceWriter निकाल सकते हैं, लेकिन यह अच्छा परीक्षण प्रथाओं का एक निश्चित उल्लंघन होगा । TraceWriter और/या Azure फ़ंक्शन यूनिट परीक्षण रणनीतियों का मज़ाक करने के संबंध में कोई अंतर्दृष्टि बहुत सराहना की जाएगी।

उत्तर

4

Azure कार्य अब इस GitHub धागा अनुसार एक ILogger लेने का समर्थन कर सकते हैं: https://github.com/Azure/Azure-Functions/issues/293


मेरे सुझाव होगा कि आप नई टूलींग precompiled कार्यों के साथ VS2017 पूर्वावलोकन में समर्थित का उपयोग आप में सुधार करने के लिए अनुमति देने के अपने समारोह की टेस्टेबिलिटी। आप Azure कार्य के लिए नए उपकरणों यहाँ के साथ आरंभ कर सकते हैं:

https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/

डोना मलयरी एक उत्कृष्ट पोस्ट बताते हैं कि साथ सी # precompiled कार्य का उपयोग कैसे करें प्रकाशित किया है: https://blogs.msdn.microsoft.com/appserviceteam/2017/03/16/publishing-a-net-class-library-as-a-function-app/

यह आपको करने की अनुमति देगा एक ऐसा कार्य बनाएं जो ठोस वस्तु के बजाय इंटरफेस का उपभोग करे। इस सवाल का जवाब एक सा घना है, लेकिन इसी तरह की एक धागा एक अच्छा जवाब के साथ यहाँ नहीं है:

Azure Function logging using TraceWriter in external library

ILogger

+0

पहले दो लिंक एक ही कर रहे हैं? – SteveC

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