2013-05-14 7 views
7

मैं एक WF कोड गतिविधि के लिए निम्न इकाई परीक्षण MyCodeActivity कहा जाता है का समर्थन करता है:कार्यप्रवाह फाउंडेशन शाब्दिक केवल मूल्य प्रकार और अपरिवर्तनीय प्रकार System.String

[ExpectedException(typeof(ArgumentException))] 
[TestMethod] 
public void ShouldRequireParam() 
{ 
    //arrange 
    var invoker = new WorkflowInvoker(new MyCodeActivity() 
    { 
     MyInt = 2, 
     MyComplexObject = _complexObject 
    }); 

    //act 
    invoker.Invoke(); 

    //assert 
    Assert.Fail("Expected ArgumentException"); 
} 

जब मैं परीक्षण मैं निम्न अपवाद मिल चलाने

'लिटल < MyComplexObject>': शाब्दिक केवल मूल्य प्रकारों और अपरिवर्तनीय प्रकार सिस्टम का समर्थन करता है। स्ट्रिंग। MyComplexObject प्रकार को शाब्दिक के रूप में उपयोग नहीं किया जा सकता है।

+0

स्टैक ट्रेस क्या है? – SLaks

+0

शायद यह आपकी मदद भी कर सकता है: http://support.microsoft.com/kb/2013194 –

उत्तर

11

तत्काल इस समस्या को ठीक करने के लिए:

MyComplexObject = _complexObject 

अतिरिक्त पठन करने
MyComplexObject = new InArgument<MyComplexObject>((ctx) => _complexObject) 

: http://msdn.microsoft.com/en-us/library/ee358749.aspx

नोट: आपको NuGet पर उपलब्ध Microsoft.Activities.UnitTesting पैकेज का भी उपयोग करना चाहिए। यह आईओसी को बहुत आसान बनाता है (डब्ल्यूएफ सेवा सेवा लोकेटर पैटर्न के साथ काम करता है और निर्भरता इंजेक्शन नहीं)

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