2013-06-14 13 views
8

के साथ एनयूनीट का उपयोग करना मुझे लगता है कि पीसीआई लाइब्रेरी के साथ अच्छा खेलने के लिए NUint को प्राप्त करने की कोशिश करने वाली सभी प्रकार की समस्याएं हैं। मेरी पीसीएल लाइब्रेरी .NET 4.5, सिल्वरलाइट 4 और उच्चतर, विंडोज फोन 7.5, विंडोज स्टोर, एंड्रॉइड और मोनो टच के लिए मोनो (एक्समरिन के साथ अंतिम दो) को लक्षित करती है। हालांकि, जब मैं NuGet के माध्यम से प्रोजेक्ट में NUnit जोड़ने का प्रयास करता हूं, ऐसा लगता है कि यह जोड़ा जाता है (nunit.framework संदर्भों में जोड़ा जाता है) लेकिन NUnit नेमस्पेस उपलब्ध नहीं है। अगर मैं कोशिश करते हैं और एक using NUnit.Framework जोड़ने के लिए, दृश्य स्टूडियो यह रेखांकित करता है और अगर मैं कोशिश करते हैं और निर्माण मैं NUnit नाम स्थान के बारे में त्रुटि इस चेतावनी के साथ नहीं पाया जा सकता:पीसीएल

Warning 2 The primary reference "nunit.framework" could not be resolved because it has an indirect dependency on the framework assembly "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which could not be resolved in the currently targeted framework. ".NETPortable,Version=v4.0,Profile=Profile104". To resolve this problem, either remove the reference "nunit.framework" or retarget your application to a framework version which contains "mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089". 

NUnit PCLs के साथ काम कर सकते हैं? mvvm cross ट्यूटोरियल निश्चित रूप से इसे प्रबंधित करने लगते हैं।

मैंने परीक्षण (एक नियमित कक्षा पुस्तकालय) के लिए एक अलग परियोजना बनाने की कोशिश की और मैं उस पर NUnit जोड़ सकता हूं, लेकिन तब मैं अपने पीसीएल लाइब्रेरी (जिसे मैं परीक्षण करना चाहता हूं) का संदर्भ जोड़ नहीं सकता, ताकि वह या तो मदद नहीं करता है।

कोई विचार?

+2

यदि आप एमवीवीएमक्रॉस प्रोजेक्ट में अधिक बारीकी से देखते हैं, तो आप देखेंगे कि टेस्ट यूनिट प्रोजेक्ट स्वयं पीसीएल नहीं बल्कि एक .NET 4.5 प्रोजेक्ट है। जहां तक ​​मुझे पता है, एनयूनीट को पीसीएल प्रोजेक्ट द्वारा संदर्भित नहीं किया जा सकता है क्योंकि न्यूटिट स्वयं पीसीएल असेंबली नहीं है। रणनीति को प्लेटफॉर्म विशिष्ट (उदा। .NET 4, 4.5) यूनिट टेस्ट प्रोजेक्ट बनाने के बजाय होना चाहिए जो एनयूनीट और पीसीएल लाइब्रेरी का परीक्षण परीक्षण के अधीन है। यदि आपको अभी भी समस्याएं हैं, तो क्या आप सुनिश्चित हैं कि पीसीएल लाइब्रेरी आपके यूनिट टेस्ट प्रोजेक्ट के प्लेटफॉर्म को लक्षित कर रही है? –

+2

एंडर्स कहते हैं, एनयूनीट पीसीएल असेंबली में लेखन परीक्षणों का समर्थन नहीं करता है। सामान्य रूप से पीसीएल परीक्षण के बारे में निम्न प्रश्नों का मेरा उत्तर देखें: http://stackoverflow.com/questions/16973411/portable-class-library-testing –

उत्तर

3

यह तर्क खामियों है, लेकिन मैं कर देगा यह वैसे भी ...

आगे बढ़ो और लिख सकते हैं और एक .net 4.5 लाइब्रेरी में अपनी इकाई परीक्षण चलाने के लिए और वहां से अपने पीसीएल पुस्तकालय के संदर्भ हैं। यूनिट का लक्ष्य तर्क का परीक्षण करने के लिए परीक्षण करता है। हालांकि यह सच है कि विभिन्न पीसीएल 'लक्ष्य संस्करणों' (विधियों को लागू नहीं किया गया आदि) के लिए कुछ चीजें अलग-अलग हो सकती हैं, मुझे संदेह है कि इस तरह आपके कोड का परीक्षण 99% मामलों को कवर करेगा।

इसके अलावा, यदि आप तर्क के 'सत्य' परीक्षण चाहते हैं, तो आपको अपने यूनिट परीक्षणों को उन डिवाइसों पर चलाना होगा जिन्हें आप परीक्षण करना चाहते हैं ... और फिर ओएस के प्रत्येक संस्करण ... और संभावित रूप से अलग विभिन्न सीपीयू आदि के साथ डिवाइस आदि आप कितना दूर जाना चाहते हैं?

आपने उल्लेख किया है कि आप 'नियमित' परीक्षण पुस्तकालय से अपने पीसीएल का संदर्भ नहीं जोड़ सकते ... आपको किस प्रकार की त्रुटि मिलती है? मैं अपने पीसीएल तर्क का परीक्षण करने के लिए इस दृष्टिकोण का उपयोग कर रहा हूं और यह एक आकर्षण की तरह काम करता है, शायद यह सही नहीं है, लेकिन 1% मामलों के लिए जहां डिवाइस पर चीजें अलग होती हैं और चीजें असफल होती हैं ... मेरे पास अपवाद दोहन है एक सर्वर :-)

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