2012-04-13 5 views
0

Ich habe Unit-Tests meinen Code auszuführen, wie folgt:WF 4 Unit Testing - OverloadGroup Validierung

   MyActivity myActivity = new MyActivity() 
      { 
       Input1 = "value1" 
      }; 

      WorkflowInvoker.Invoke(myActivity); 
      /// do assert 

MyActivity hat auch Input2 als InArgument. Das Problem, das ich habe, ist, dass Input1 und Input2 validation Argumente wie folgt haben.

[OverloadGroup("Input1")] 
[RequiredArgument] 
public InArgument<string> Input1{ get; set; } 

[OverloadGroup("Input2")] 
[RequiredArgument] 
public InArgument<string> Input2{ get; set; } 

Das ist, weil ich brauchte nur einen Wert wollen.

Ich erhalte den folgenden Fehler:

Das Argument der Wurzelaktivität Einstellungen falsch sind. Korrigieren Sie entweder die Workflow-Definition oder liefern Sie Eingabewerte, um diese Fehler zu beheben: 'MyActivity': Die folgenden Überladungsgruppen sind konfiguriert: Input1, Input2. Nur eine Überladungsgruppe sollte ihre Argumente konfigurieren. Parametername: Programm

Ich bin mir nicht sicher, was ich falsch mache, da ich nur eine der 2 Aktivitäten eingestellt habe?
Vielleicht gibt es eine bessere Möglichkeit, die WFs Unit-Test.
Die Aktivität funktioniert ordnungsgemäß, wenn sie normalerweise in einem Workflowdienst aufgerufen wird.

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Ich habe es geschafft, es "zu lösen", indem ich die Aktivität in eine Sequenz verpacke und dann die Sequenzaktivität aufrufe.