测试工作流:
运用wf(四)的solution;
创建单元测试项目:
1.选择HelloWorkflow解决方案,右键选择添加新建项目;选择单元测试模板,命名为HelloWorkflow.Tests.
2.右键HelloWorkflow.Tests,添加项目引用,选择HelloWorkflow项目。继续添加引用,添加System.Activities程序集。
3.重命名UnitTest1.cs,改为“SayHelloFixture”。
创建一个测试:
1.在测试类中添加相关引用 using Syetem.Activities、using HelloWorkflow和using System.Collections.Generic;
2.修改测试方法名称,"TestMethod1"重命名为“ShouldReturnGreetingWithName”;
3.现在SayHello活动没有接收任何参数,我们将通过代码调用来实现。下面是我的测试方法中的代码,如图:
怎样给活动传递参数?
你可以在创建活动的时候初始化参数,通过初始化对象,或者传递一个键值对Dictionary<string,object>。
怎样活获取活动的输出值?
输出变量是一个键值对IDictionary<string,object>,通过运用变量名称作为key。
做到这一步程序中应该会报错,因为UserName没有定义;
完善程序:
1.打开SayHello.xaml;
2.在设计器中添加相应的参数,如图:
重新编译程序,这会应该会成功。
完成单元测试:
这样直接运行ShouldReturnGreetingWithName()单元测试会报错,因为活动没有返回任何东西给输出参数“Greeting”。
1.删除WriteLine活动,因为现在不需要这个了。
2.从工具栏中拖拽一个Assign活动到设计页面。
3设置Assign,如下图:
4.再次运行单元测试ShouldReturnGreetingWithName(),这次就可以成功了。
到此demo5已经完了。