2012-05-14 11 views
5

के लिए काम नहीं कर रहा है मैंने google और stack over flow में देखा है और आंतरिक दृश्यों को काम करने के तरीके के बारे में सभी पोस्ट पढ़ा है।InternalsVisible MSTest

लेकिन यह मेरे लिए काम नहीं कर रहा है।

कृपया नीचे इस सवाल का वोट नहीं दें क्योंकि मैं अपना सर्वश्रेष्ठ प्रयास किया है देखने के लिए और मंचों पर जवाब लागू करने के लिए .. इस प्रकार

मेरे कोड है:

* अंदर TestInternal परियोजना *

namespace TestInteral 
{ 
    [TestClass] 
    public class MyProviderTest 
    { 
     [TestMethod] 
     public void TestBar() 
     { 
      bool retval = false; 

      retval = new MyProviderClass().Bar(); 

      Assert.AreEqual(true,retval); 
     } 

    } 
} 

प्रदाता परियोजना * अंदर *

[assembly: InternalsVisibleTo("TestInternal")] 
namespace Provider 
{ 

    public class MyProviderClass 
    { 
     internal bool Bar() 
     { 
      return true; 

     } 

     private void UseBar() 
     { 
      bool retval = Bar(); 

     } 
    } 
} 

मुझे मेरी परीक्षा कक्षा में निम्न त्रुटि मिल रही है।

त्रुटि 1 'Provider.MyProviderClass' 'बार' के लिए एक परिभाषा और कोई विस्तार विधि 'बार' प्रकार 'Provider.MyProviderClass' का एक पहला तर्क को स्वीकार करने में नहीं है पाया जा सकता है (यदि आप एक निर्देश का उपयोग याद कर रहे हैं या एक विधानसभा संदर्भ?)

कृपया मुझे पता है कि कैसे मैं InternalsVisibleTo सही ढंग से इस्तेमाल कर सकते हैं तो मैं सही ढंग से MyProviderClass में आंतरिक विधि का परीक्षण कर सकते हैं।

धन्यवाद

+0

क्या आप सुनिश्चित हैं कि आपके पास टेस्ट इन्टरनेट में संदर्भित प्रदाता परियोजना है? क्या आपने पहले प्रदाता परियोजना बनाने का प्रयास किया था? प्रदाता परियोजना पर हस्ताक्षर किए गए हैं? – cre8or

+0

प्रदाता का परीक्षण टेस्ट इन्टरनेट में किया जाता है। मैं सफलतापूर्वक * पहले * निर्मित प्रदाता परियोजना। प्रदाता परियोजना पर हस्ताक्षर नहीं है। धन्यवाद .. –

+0

एमएस दस्तावेज के अनुसार दोनों असेंबली या तो हस्ताक्षरित या हस्ताक्षर किए जाने चाहिए –

उत्तर

10

मान लिया जाये कि तुम सिर्फ नकल की और प्रश्न में अपनी सटीक कोड चिपकाया है, यह एक सरल टाइपो है। मैंने देखा कि परीक्षण असेंबली पर आपका नामस्थान TestInteral है जिसमें 'एन' नहीं है।

[assembly: InternalsVisibleTo("TestInternal")] 

शायद सभी यह है कि: और आपके InternalsVisibleTo घोषणा पिछले 'एन' है।

+0

अच्छा, ऐसी त्रुटियां सबसे अवांछित हैं :-) – cre8or

+0

धन्यवाद ... यह मेरे लिए देखना बहुत मुश्किल था .. अच्छा पकड़ –

+0

यह कोड अब काम कर रहा है .. उन सभी के लिए धन्यवाद ... इसका उपयोग किया जा सकता है एक ट्यूटोरियल जो पहली बार कोशिश कर रहा है। –

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