wf(五)

测试工作流:


运用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已经完了。

原文地址:https://www.cnblogs.com/HKKD/p/5102389.html