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程序向 ...
随机推荐
- JQuery中的DOM操作
JQuery中有很多DOM操作,但是因为之前没有总结过,所以用来用去都是那几个,一写html中的表单交互,尤其是那些复杂的表单交互,就是一大坨的js,我自己看着都费劲. 所以我感觉有必要总结一下 &l ...
- The shortest path---hdu2224 && Tour---poj2677(旅行商问题)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2224 题意:平面上有n个点,问去的路只能从左到右,回的路只能从右到左的,且来回必须经过所有点的最小路径 ...
- 使用sql server 链接服务器
在我们的日常应用场景中经常会碰访问不同服务器上的数据库,即跨服务器访问操作不同的服务器上的SQL Sever数据库, 这个时候Sql Server的链接服务器就非常实用,创建SQL语句如下: --重新 ...
- visual studio2015从git上clone(克隆)项目
本文介绍Visual Studio2015从git上clone项目代码的步骤. 1.打开VS2015,进到起始页,打开"团队资源管理器",如下图: 2.点击"克隆&quo ...
- [原创]解决net-speeder与pptp不兼容的问题
解决net-speeder与pptp不兼容的问题 终于受不了很多玩意儿都被墙了,每次FQ费半天劲,浪费时间,于是在搬瓦工搞了个VPS,年付19美元,挺便宜的,赶紧的VPN搭起,优化走起. VPN搭建很 ...
- 关于iOS和android自定义包的名字
自定义包名的使用,android的包名和ios的包名都是你的自定义包名!如下以新浪微博SDK自定义包名示例:(官方没的,自己踩过坑,方便后来人吧) 相关技术文档:http://www.apicloud ...
- Python基础、异常处理
一.概述 错误与异常概念 异常也是对象, 基于Exception类.内置异常 异常处理.流程 try/except/else 处理python或你触发的异常 try/fianlly 不管有没有异 ...
- 只有在配置文件或 Page 指令中将 enableSessionState 设置为 true 时,才能使用会话状态。还请确保在应用程序配置的 // 节中包括 System.Web.SessionSta
我直接在父类的构造方法中调用了sessionj结果就报这个错误 搜了好久 让改web.config 可是不起作用 代码如下: public class BasePage:System.Web.UI.P ...
- TCP心跳 | TCP keepAlive(转)
应用层对于每个socket采用如下函数来开启 keepalive机制,其参数将采用系统上述配置. setsockopt(rs, SOL_SOCKET, SO_KEEPALIVE, (void *)&a ...
- WebForm Repeater: 重复器
Repeater控件,可以用来一次显示一组数据项.比如,可以用它们显示一个数据表中的所有行. Repeater控件完全由模板驱动,提供了最大的灵活性,可以任意设置它的输出格式. ...