0

次のようにコードを実行するための単体テストがあります。

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

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

MyActivityには、InArgumentとしてInput2もあります。私が抱えている問題は、Input1とInput2に次のような有効な引数があることです。

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

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

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

次のエラーが発生します:

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

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

どんな援助でも大歓迎です。

4

1 に答える 1

0

シーケンス内でアクティビティをラップしてからシーケンスアクティビティを呼び出すことで、なんとか「解決」できました。

于 2012-04-13T22:04:04.293 に答える