2012-04-13 16 views
0

次のように私は私のコードを実行するためのユニットテストを持っている:WF 4ユニットテスト - OverloadGroup検証

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

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

MyActivityもInArgumentとして入力2を持っています。 私が抱えている問題は、Input1とInput2が以下のようなvalidaiton引数を持つことです。

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

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

これは、値が1つだけ必要なためです。

次のエラーが表示されます。

ルートアクティビティの引数設定が間違っています。ワークフロー定義を修正するか、入力値を入力してこれらのエラーを修正してください。 'MyActivity':次のオーバーロードグループが設定されています:Input1、Input2。 1つのオーバーロードグループのみが引数を設定する必要があります。 パラメータ名:program

2つのアクティビティのうちの1つを設定しただけで何が間違っているのかわかりません。
おそらく、WFを単体テストするより良い方法があります。
通常、ワークフローサービス内で正常に呼び出された場合、アクティビティは正しく機能します。

ご協力いただければ幸いです。

答えて

0

私は、シーケンス内のアクティビティをラップし、シーケンスアクティビティを呼び出すことによってそれを '解決'することができました。