2009-04-13 14 views
9

के साथ यूनिट परीक्षण मैं सिल्वरलाइट 3 प्रोजेक्ट का परीक्षण करने का प्रयास कर रहा हूं। मैं उपयोग कर रहा हूँ:मोक, सिल्वरलाइट और एनयूनीट

मैं एक परीक्षण है कि Moq का उपयोग नहीं करता लिखना है, यह एकदम सही ढंग से काम करता है।

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

लेकिन जब मैं Moq का उपयोग करता है एक इकाई परीक्षण चलाने के लिए, मैं हमेशा इस मिल:

System.IO.FileNotFoundException: Could not load file or assembly 'System, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e' or one of its dependencies. The system cannot find the file specified. 
at Moq.ExpressionExtensions.ToStringFixVisitor..ctor(Expression expression) 
at Moq.Interceptor.AddCall(IProxyCall call, SetupKind kind) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Interceptor.cs: line 104 
at Moq.Mock.<>c__DisplayClassc`2.<Setup>b__b() in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.cs: line 387 
at Moq.PexProtector.Invoke<T>(Func`1 function) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\PexProtector.cs: line 17 
at Moq.Mock.Setup<T1,TResult>(Mock mock, Expression`1 expression) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.cs: line 371 
at Moq.Mock`1.Setup<TResult>(Expression`1 expression) in c:\Build\Moq Drop\moq\WorkingDirectory\trunk\Source\Mock.Generic.cs: line 194 
at SilverlightMoq.Test1.TestFirst() in Test1.cs: line 23 

यह कैसे हो सकता है तय?


मैंने एक ही परिणाम के साथ एसएल 3 के लिए दोनों विधानसभाओं का पुनर्निर्माण किया।

मैं माइक्रोसॉफ्ट सिल्वरलाइट यूनिट टेस्ट फ्रेमवर्क पर परीक्षण चलाने में सक्षम था।

http://code.msdn.microsoft.com/silverlightut/

यह इन-ब्राउज़र परीक्षण रूपरेखा है कि इकाई परीक्षण SL करने के लिए मानक तरीका प्रतीत हो रहा है है। समस्याएं हैं:

  1. आप एक बार
  2. यह बेरहमी से धीमी है पर अपने सभी परीक्षण चलाना चाहिए।

    (~ 5 nunit परीक्षण ढांचे में चल रहे एक ही परीक्षण से गुना धीमी)

किसी को भी किसी भी अन्य SL परीक्षण चौखटे या इस ढांचे के खिलाफ परीक्षण चलाने के लिए एक बेहतर तरीका है के बारे में पता है? ... प्रणाली,

उत्तर

0

एक की तरह लगता है

जब मैं का उपयोग करने के TestDriven.Net प्रयास 'फ़ाइल या विधानसभा लोड नहीं कर सका:

System.IO.FileNotFoundException प्लगइन बनाम रों मैं कोई त्रुटि मिलती है' सिल्वरलाइट 3 अंक। क्या आप Moq.Silverlight और NUnitSilverlight के स्रोत प्राप्त कर सकते हैं और उन्हें Silverlight 3 binaries पर बना सकते हैं? ऐसा लगता है इन SL 2.

5

पल में जवाब जेमी Cansdale के सिल्वरलाइट Nunit परियोजना खाका हो रहा है के साथ निर्माण कर रहे हैं:

http://weblogs.asp.net/nunitaddin/archive/2008/05/01/silverlight-nunit-projects.aspx

इस टेम्पलेट शानदार है और वास्तव में क्या मैं के लिए देख रहा था। यह भी Resharper के साथ काम करता है! मुझे आशा है कि यह किसी और को कुछ घंटों बचाएगा।

4

मैंने निरंतर एकीकरण के साथ उपयोग करने के लिए एक उपकरण बनाया और सामान्य सिल्वरलाइट टीडीडी को तेज करने के लिए ...

http://www.StatLight.net

अब यह सिल्वरलाइट अंतर्गत चलाने के लिए संकलित NUnit के किसी भी संस्करण के लिए पूरा समर्थन है।

1

मुझे यकीन है कि 'प्रतिलिपि स्थानीय' संपत्ति (संदर्भ प्रणाली के आईडीई संपत्ति ग्रिड (F4) में) कर रहा है के लिए क्या काम किया सही पर सेट किया जाता है।

9

ली द्वारा उपलब्ध कराई गई जानकारी, और लिंक वह प्रदान की (http://weblogs.asp.net/nunitaddin/archive/2008/05/01/silverlight-nunit-projects.aspx) के लिए धन्यवाद मैं कोड कवरेज के साथ Hudson में चल मेरी सिल्वरलाइट NUnit परीक्षण प्राप्त करने में सक्षम था! बहुत बढ़िया सामान अरे! और वे भी ReSharper साथ चलाने के लिए, तो मैं Silverlight में TDD करने के लिए है कि मैं किसी भी अधिक (एक 20 सेकंड की देरी के साथ) को दंडित किया जा रहा है महसूस नहीं करते।

तो, क्या मैं वास्तव में क्या किया? कॉपी 'को

(http://www.jeff.wilcox.name/2010/05/sl3-utf-bits/)

  • तब मैं सभी परीक्षण परियोजना की सिल्वरलाइट विधानसभाओं' संदर्भ (छोड़कर 'mscorlib)' बदल दिया है:

    • मैं SL3 के लिए एक सिल्वरलाइट यूनिट टेस्ट फ्रेमवर्क परियोजना बनाया स्थानीय: यह सच है 'के रूप में में विस्तृत:

      (http://weblogs.asp.net/nunitaddin/archive/2008/05/01/silverlight-nunit-projects.aspx)

    • n मैं सिल्वरलाइट NUnit 2.5.1 निम्न ब्लॉग में प्रदान की रूपरेखा के लिए संदर्भ जोड़ा (ब्लॉग मैं ऊपर अपने ब्लॉग में नीचे और जेमी Cansdale उल्लेख में जेफ Willcox द्वारा प्रदान की अन्य संस्करण हैं, लेकिन इस नवीनतम संस्करण मैंने पाया था):

      (http://wesmcclure.tumblr.com/post/152727000)

    • यह है कि! उसके बाद मैं अपने परीक्षण लिख सकता हूं, उन्हें रीशेपर में चला सकता हूं, और एनयूनीट परीक्षण धावक से! इसके अलावा मैं कवरेज रिपोर्ट प्राप्त करने के लिए नवर का उपयोग कर सकता हूं !!!

    • संपादित करें: अरे हाँ, और अगर आप किसी भी परीक्षण है कि यूआई धागा आवश्यकता चलाने आप एक क्रॉस धागा त्रुटि ReSharper में मिल जाएगा। यह Deployment.Current.Dispatcher.BeginInvoke(...) कॉल के भीतर उन परीक्षणों को निष्पादित करके हल किया जाता है।

    • मेरी परीक्षण मैं चला उन्हें SL टेस्ट फ्रेमवर्क वेब इंटरफेस से नहीं चला सकता है के लिए इकाई का उपयोग करने के बाद, लेकिन यह मेरे लिए एक मुद्दे के बहुत ज्यादा नहीं था।

      (http://www.jeff.wilcox.name/2009/01/nunit-and-silverlight/)

    • पुनश्च:: यदि आप इस कार्य कर रहा पर एक नजर है प्राप्त करने की आवश्यकता है, तो मैं भी NUnit सांत्वना धावक NUnit कंसोल से मेरी परीक्षण चलाने के लिए के लिए एक NUnit प्रोजेक्ट बनाया (नहीं एक ही एनयूनीट परियोजना में अपनी गैर एसएल परीक्षण असेंबली शामिल करने का प्रयास करें, यह काम नहीं करेगा क्योंकि यह एक अलग nunit.framework लाइब्रेरी का उपयोग करता है)।

    मैं भी StatLight (http://statlight.codeplex.com/) की कोशिश की सांत्वना से परीक्षण चलाने के लिए, और कहा कि मेरे लिए अच्छी तरह से काम किया, लेकिन मैं एक ReSharper और NUnit प्रशंसक हूँ ताकि मेरे लिए सबसे अच्छा विकल्प नहीं था। स्टेटलाइट के साथ एक अजीब बग भी था जहां यह मेरे टेस्ट प्रोजेक्ट संसाधनों को ठीक से लोड नहीं कर रहा था जिसके परिणामस्वरूप कुछ टेस्ट असफलताएं हुईं।

    मुझे आशा है कि यह किसी को मदद मिलती है।मैं यहां कुछ भी नया नहीं आया हूं, बल्कि सिर्फ सभी सूचनाओं को समेकित करता हूं जो मेरी इच्छा है कि किसी ने मेरे सामने सारांशित किया हो। जब मुझे कुछ समय मिलता है तो मैं सिल्वरलाइट के साथ एक हबानेरो फ्रेमवर्क (http://www.habanerolabs.com) प्रोजेक्ट बनाने के मामले में इस बारे में ब्लॉग करूंगा।

    व्हील। बस आज के लिए इतना ही!

  • +0

    धन्यवाद बहुत आदमी –

    +0

    @MarkWhitfeld मूल टेस्ट एक्सप्लोरर विंडो में परिणाम दिखाने के लिए कोई तरीका है? – Jay

    +0

    यकीन नहीं है @ जे, मैंने पिछले 4 वर्षों में एक चांदी की रोशनी परियोजना नहीं की है। तब से बहुत बदल सकता था। –

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