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已经完了。
wf(五)的更多相关文章
- 巨蟒python全栈开发-第5天 字典&集合
今日大纲: 1.什么是字典 字典是以key:value的形式来保存数据,用{}表示. 存储的是key:value 2.字典的增删改查(重点) (1) 添加 dic[新key] = 值 setdefau ...
- DDD模型领域WF到领域层(十五)
实现超市的结算系统: 计算相应的优惠方式的接口 public interface ICompute { double GetResultTotalMoney(double TotalMoney); } ...
- java web学习总结(五) -------------------servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- javaweb学习总结(五)——Servlet开发(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- javaweb学习总结(二十五)——jsp简单标签开发(一)
一.简单标签(SimpleTag) 由于传统标签使用三个标签接口来完成不同的功能,显得过于繁琐,不利于标签技术的推广, SUN公司为降低标签技术的学习难度,在JSP 2.0中定义了一个更为简单.便于编 ...
- 《Play for Java》学习笔记(五)Form
本书第六章以一个实例介绍了Play Framework中Form的使用,如何绑定数据,如何进行验证 一.项目结构和action
- java web 学习五(servlet开发1)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
- javaweb学习总结(五)——Servlet开发(一)(转)
转载自 http://www.cnblogs.com/xdp-gacl/p/3760336.html 一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun ...
- JavaWeb学习 (五)————Servlet(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向 ...
随机推荐
- Servlet中的常用类以及常用方法
A:ServletConfig:用于读取Servlet在web.xml中配置的一些信息. getServletName(); getInitParameter();只能是Servlet自身下的参数设置 ...
- Mysql中字段类型不一致导致索引无效
修改后 详细见楼下链接 http://ustb80.blog.51cto.com/6139482/1287847
- js window.onload 的一个验证
window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行. 以下验证是否是图片加载完成后才执行 <img class="icon" id="ic ...
- DotNetBar grid筛选 按时间筛选
PatientDiaryPanel.Columns["RECORDDATE"].FilterExpr = string.Format("date(RECORDDATE) ...
- tar命令实用介绍
tar -c: 建立压缩档案-x:解压-t:查看内容-r:向压缩归档文件末尾追加文件-u:更新原压缩包中的文件 这五个是独立的命令,压缩解压都要用到其中一个,可以和别的命令连用但只能用其中一个.下面的 ...
- SQLite - TRUNCATE TABLE
https://www.tutorialspoint.com/sqlite/sqlite_truncate_table.htm Unfortunately, no TRUNCATE TABLE in ...
- php字符截取
mb_substr($str,0,2) 0 索引的位置 2 长度 mb_substr($str,0,-1) 最后一位如果是负数 表示从前面0开始到后面-1 0,-1都是索引
- centos7 web服务器内核优化
net.ipv4.tcp_syn_retries = 1net.ipv4.tcp_synack_retries = 1net.ipv4.tcp_keepalive_time = 600net.ipv4 ...
- laravel5.1学习(2)-- artisan tinker命令
例如:为users表创建20条测试输入 G:\wamp\www\hcmf>php artisan tinker >>> namespace App; => null &g ...
- shortcuts on Windows and MacOS
我现在使用Window 10与MacOS,发现各千秋,也发现Window向MacOS学习并借鉴了一些东西. MacOS有一点非常好的地方是,它可以不怎么使用鼠标,而通过TouchPad便可完成.体验起 ...