如果要手动构建上下文,则需要填充 PrimaryEntityName 在里面 [TestMethod] 。您应该进一步了解您的情况 workflowContext 构建测试对象。
PrimaryEntityName
[TestMethod]
workflowContext
[TestMethod] public void BusinessUnitTest() { workflowContext.PrimaryEntityName = "Entity name"; WorkflowInvoker invoker = new WorkflowInvoker(new DespatchStockOrder()); invoker.Extensions.Add<ITracingService>(() => tracingService); invoker.Extensions.Add<IWorkflowContext>(() => workflowContext); invoker.Extensions.Add<IOrganizationServiceFactory>(() => factory); IDictionary<string, object> outputs = invoker.Invoke(); }
你可能想尝试一下 FakeXrmEasy 。它是一个开源单元测试库,我正在维护它以便于动态Crm的单元测试,而不会嘲笑任何东西。
您 获取对工作流上下文的引用 并注入您需要的任何参数,包括主要实体名称和Id。
但是最常见的crm消息已经被模拟(检索多个请求,CRUD,fetchxml,LINQ,QueryExpressions,所以没有...)