2009-01-19 15 views
5

हम अपनी सभी परियोजनाओं के लिए FxCop का उपयोग करते हैं। हमारे यूनिटटेस्ट के लिए मुझे यकीन नहीं है कि यह इसके लायक है। हम कई दमनों के साथ समाप्त होते हैं:क्या हमें यूनिटटेस्ट असेंबली पर FxCop का उपयोग करना चाहिए?

[SuppressMessage("Microsoft.Performance", "CA1822:MarkMembersAsStatic", Justification = SuppressJustifications.CA1822MethodIsUsedExternallyAsNonStatic)] 
[SuppressMessage("Microsoft.Usage", "CA1806:DoNotIgnoreMethodResults", MessageId = "Cantaloupe.Seed.Security.RijndaelEncryption", Justification = SuppressJustifications.CA1806MethodIsCalledForExceptionThrowingTest)] 

यूनिट परीक्षण कोड पर FxCop पर लोगों के विचार क्या हैं?

उत्तर

5

जब मैं अपनी यूनिट टेस्ट/टीडीडी कक्षा पढ़ाता हूं, तो मैं आम तौर पर लोगों को समान सिद्धांतों के बाद परीक्षण कोड लिखने के लिए कहता हूं जैसे वे प्रोबर उत्पादन कोड लिखते हैं। हालांकि, मैं स्वीकार करता हूं कि कुछ FxCop नियम बहुत अधिक शोर उत्पन्न कर सकते हैं।

क्या आप परीक्षण कोड के लिए FxCop नियमों के उपयुक्त सबसेट का उपयोग नहीं कर सके?

2

प्रयास के लायक नहीं है; FxCop उत्पादन कोडिंग मानकों के लिए है, आंतरिक परीक्षण कोड

(हालांकि, यह हर बार और फिर एक बार चलाने के लिए कोई दिक्कत नहीं करता है, यदि यह आपको कुछ उपयोगी बताता है ...)

+0

हू? "प्रयास के लायक नहीं" मैं थोड़ा सा मजबूत कहूंगा। आपको "आंतरिक" कोड को "उत्पादन" कोड के रूप में गुणवत्ता में किसी भी भिन्नता का इलाज क्यों करना चाहिए? कोडिंग मानकों को लागू करना (वे जिस तरह से FxCop कर सकते हैं) कोड की शुद्धता की जांच करने का एक महत्वपूर्ण हिस्सा है - जबकि निश्चित रूप से * सबसे महत्वपूर्ण या केवल एक नहीं। –

+0

@ [ईसाई.के]: यही कारण है कि मैंने कहा कि यह हर बार ऐसा करने के लिए चोट नहीं पहुंचाता है, लेकिन मामले में, लेकिन यूनिट-टेस्ट कोड, या फेंकने कोड, या एक- पर पूर्ण FxCop अनुरूपता का कोई कारण नहीं है। शॉट यूटिलिटी कोड, एट अल। अपने सबसे अच्छे फैसले का प्रयोग करें। –

1

यदि आपके हाथों में समय है तो आगे बढ़ें। पुलिस को अपने सभी कोड पर नज़र डालने का बुरा विचार नहीं है।

2

हां लेकिन आपको इसके बारे में एक पागल होने की आवश्यकता नहीं है। आप परीक्षण कर रहे हैं अपने रखरखाव कोडर का सबसे अच्छा दोस्त। यदि आपके परीक्षणों को आपके रखरखाव कोडर को पढ़ने में आसान नहीं है, तो चीजों का कठिन समय होगा। मुझे लगता है कि यह बेहतर आदतों को प्रोत्साहित करने में मदद करता है, यूनिट टेस्ट कोड में मैला होने वाला अनुमोदित लाइसेंस नहीं है।

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