В модульном тесте я передал сборку Custom Activity в ctor как локальную сборку
var xamlInjector = new XamlInjector ("CreditAtRenewalFlow.xaml", typeof (CreateFollowUp) .Assembly);
CreateFollowUp является AsynCodeActivity
Я получил ошибку "Неожиданное" СОБСТВЕННОСТЬ "в правиле разбора" Элемент :: =. EmptyElement | (StartElement ElementBody). '.' Номер строки «2» и позиция «4». " при выполнении следующей строки
var host = WorkflowInvokerTest.Create (xamlInjector.GetActivity ());
Образец модульного теста - [TestMethod]
[DeploymentItem (@ "SRC \ ProcessFlows \ Activity1.xaml")]
public void Activity1Test ()
{
var xamlInjector = new XamlInjector("Activity1.xaml", typeof(CreateFollowUp).Assembly);
xamlInjector.ReplaceAll(typeof(CreateFollowUp), typeof (MockCreateFollowUp));
var mockExternalServiceManager = new Mock<IExternalServices>();
mockExternalServiceManager.Setup(x => x.CreateFollowUp()).Verifiable();
var host = WorkflowInvokerTest.Create(xamlInjector.GetActivity());
dynamic parameterValues1 = new WorkflowArguments();
parameterValues1.value1 = mockExternalServiceManager.Object;
IDictionary<string, object> dictionary = host.TestActivity();
}
И CreateFollowUp дан ниже
открытый закрытый класс CreateFollowUp: AsyncCodeActivity
{
[RequiredArgument]
public InArgument ExternalServices {get; задавать; }
protected override IAsyncResult BeginExecute(AsyncCodeActivityContext context, AsyncCallback callback,
состояние объекта)
{
Действие createFollowUp = this.ExternalServices.Get (context) .CreateFollowUp;
context.UserState = createFollowUp;
return createFollowUp.BeginInvoke (обратный вызов, состояние);
}
protected override void EndExecute(AsyncCodeActivityContext context, IAsyncResult result)
{
var createFollowUp = context.UserState as Action;
if (createFollowUp == null)
{
throw new ArgumentNullException("The AsyncState of the IAsyncResult was not of the type
ExternalServices.AsyncCreateFollowUp. ", (Exception) null);
}
createFollowUp.EndInvoke(result);
}
}