2012-04-13 2 views
0

У меня есть модульные тесты, чтобы запустить свой код следующим образом:WF 4 Модульное тестирование - OverloadGroup Проверка

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

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

MyActivity также Input2 как InArgument. Проблема, с которой я столкнулась, заключается в том, что Input1 и Input2 имеют аргументы validaiton следующим образом.

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

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

Это потому, что я хочу только одно значение.

Я получаю следующее сообщение об ошибке:

настройки аргумента корневого действия являются неправильными. Либо исправьте определение рабочего процесса, либо введите входные значения, чтобы исправить эти ошибки: «MyActivity»: настроены следующие группы перегрузки: Input1, Input2. Только одна группа перегрузки должна иметь свои аргументы. Имя параметра: program

Я не уверен, что я делаю неправильно, поскольку я просто установил только одно из двух видов деятельности?
Возможно, существует лучший способ модульного тестирования WF.
Действие действительно работает правильно, если вы вызываете его обычно внутри службы рабочего потока.

Любая помощь будет принята с благодарностью.

ответ

0

Мне удалось «решить» его, завернув операцию внутри последовательности, а затем активировав операцию последовательности.

Смежные вопросы