10.1TDD简介

MVC中的测试驱动开发

为什么需要TDD

TDD的由来
它是一种实现代码的方法论而不是一种测试方法



-代码的质量更可靠


TDD的工作方式
-首先编写单元测试
-编写代码用于通过测试
-重构代码
-迭代

编写测试代码
[Test]
public void
StringWithThreeAsReturnsThreeWhenCountingOccurencesOfA() {
//arrange
CharCounter counter = new CharCounter();
//act
int occurrences =
counter.CountOccurrences(“this phrase has three occurrences of a.”, ‘a’);
//assert
Assert.AreEqual(3, occurrences);
}
先写测试

编写应用代码
public int CountOccurrences(string text, char
searchCharacter)
{
int count = 0;
foreach (char character in text) {
if (character == searchCharacter) {
count++;
}}
return count;
}

//代码简单

重构上面的代码
-重构来精简代码

迭代
-重复上面的过程

编写好的单元测试代码
-测试技巧
1) 不要越界
-使代码测试工作帮助函数进行定位
2)默认单元测试
-自动生成
ViewData[“Message”] = “Welcome to ASP.NET MVC!”;
return View();
}
public void Index() {
// Arrange
HomeController controller = new HomeController();
// Act
ViewResult result = controller.Index() as ViewResult;
// Assert
ViewDataDictionary viewData = result.ViewData;
Assert.AreEqual(“Welcome to ASP.NET MVC!”, viewData[“Message”]);
}

3)单元测试要简洁
-只测试自己写的代码
public ActionResult About()
{
return View();
}
[TestMethod]
public void AboutReturnsAboutView()
{
HomeController controller = new HomeController();
ViewResult result = controller.About() as ViewResult;
Assert.AreEqual(“About”, result.ViewName);
} //不能通过

[TestMethod]
public void AboutReturnsAboutView()
{
HomeController controller = new HomeController();
ViewResult result = controller.About() as ViewResult;
//I explicitly want to rely on the framework to set the viewname
Assert.AreEqual(string.Empty, result.ViewName);
}

只测试自己写的代码

使用TDD的好处
-测试目标明确
-测试文档化
-测试安全
-测试提升质量

TDD推荐参考
-Test Driven Development
-Test-Driven Developmenet in Microsoft.net

2011-4-23 12:14 danny
城市运行管理的重要性与挑战 城市运行体系是以人为本的服务和经济发展体系,涉及决策、管理和执行三个层次。当前城市运行管理面临城市化快速发展、资源环境制约和社会矛盾突出等挑战。信息技术的发展为城市运行管理提供了重要手段,城市信息化经历了数字化、智能化到智慧化的发展过程。我国城市信息化虽取得进展,但仍处于初级阶段,存在缺乏整体规划、资源浪费和协作效率不高等问题。 智慧城市综合运行管理解决方案 智慧城市运行管理中心(SCOC)是支撑城市运行综合管理的神经中枢,旨在掌控城市运行综合体征,促进服务型政府转型。该中心通过全面整合运行资源,服务城市未来发展,提升城市运行水平和突发事件处置效率。中心纵向提升综合职能,横向贯通专业分工,包括综合管理平台、专业管理平台和业务操作平台,覆盖城市交通、公共安全、生态环境等多个领域。 智慧城市综合运行管理平台的结构与功能 智慧城市综合运行管理平台包括决策支持系统、处置系统、基础设施和监测系统。平台通过综合展现系统、综合应急指挥系统、综合运行业务联动系统等,实现城市运行的综合监测和管理。物联网数据采集系统利用网络通讯技术,实现城市物联网设备的高效运行。平台还包含云计算业务支撑系统、城市基础数据库、视频图像云平台等,以支持城市运行管理的各个方面。 智慧城市综合运行管理解决方案的优势 该解决方案具有三个核心优势:首先,它提供了完整的智慧城市视角,不仅仅是指挥中心或数据中心,而是智慧城市的实际载体。其次,它建立了完整的城市运行联动体系,打通业务部门壁垒,形成有机融合的业务联动平台,提升业务处理效率和服务水平。最后,方案凝聚了多年智慧城市建设咨询经验,为城市运行管理提供了成熟的解决方案。 项目实施建议 智慧城市运行管理中心的建设思路和项目实施建议是方案的重要组成部分,旨在指导城市如何有效实施智慧城市运行管理解决方案,以应对城市运行管理的挑战,提升城市管理的智能化和效率。通过这些建议,城市能够更好地规划和实施智慧城市项目,实现可持续发展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值