`
tyny
  • 浏览: 75620 次
  • 性别: Icon_minigender_1
  • 来自: 黄冈
社区版块
存档分类
最新评论

.NET里的行为驱动开发

阅读更多

转自InfoQ

越来越多人把行为驱动开发 (BDD)看作实施测试驱动开发的另一种方式。SpecFlowNSpec 是.NET里比较流行的BDD框架。它们协助创建即使不是程序员也能读懂的测试规范,并允许软件的目的驱动它的开发。

BDD有两种主要的方式 ——xBehave和xSpec。第一种主要用于高层次的验收测试,而第二种则对单元级别的测试更有用。SpecFlow和Cucumber 类似,属于第一种,而NSpec (紧跟RSpec 的潮流)则属于第二种。二者各有所长,通常可以在一个项目里同时使用——SpecFlow覆盖场景级别的测试,而NSpec则覆盖细节单元级别的测试。

NUnitMSUnit 等单元测试框架上使用NSpec或者类似的框架的好处是它允许以增量的方式生成上下文,同时不会让测试代码变得复杂。Dave Astels在《重新审视测试驱动开发》 里给出了一个很好的例子,通过比较JUnit和RSpec,阐明细微的差别如何使编写更具可读性的测试变得更加容易。

除了它们的项目网站,还有一些 教程示例 可以帮助你入门的。

.NET里的BDD框架并非只有SpecFlow和NSpec,但它们算是最流行的。其它的还有Cuke4NukeNBehaveMSpec ,各有各的优点和缺点。

BDD,作为测试驱动开发(TDD)的一种演化,起初是作为一项敏捷实践,使QA和非技术或业务人员更有效地参与到软件项目里。它扩展了TDD,使用自然语言编写测试用例,并结合 领域驱动开发 在编写代码之前描述它的目的和好处。

你有在.NET里尝试过行为驱动开发吗?如果有,你有哪些经验可以分享?

查看英文原文: Behavior Driven Development In .NET

分享到:
评论

相关推荐

    .net测试驱动开发指南

    《.NET测试驱动开发(TDD)指南》是针对C#编程语言的一份宝贵资源,它旨在教会开发者如何采用测试驱动的开发模式进行软件设计。测试驱动开发是一种编程实践,强调在编写实际代码之前先编写测试用例,以此来定义功能...

    WindowsCE.NET+USB驱动开发基础+PPT+++Code.rar

    在Windows CE .NET环境下进行USB驱动开发是一项技术性极强的工作,它涉及到操作系统内核、设备接口以及编程语言等多个方面。下面将详细讲解这个主题,包括USB驱动的基础知识、开发流程以及相关代码示例。 首先,...

    .net mysql 连接驱动程序 6.9.5

    这个6.9.5版本的驱动程序提供了稳定且高效的数据访问功能,使得开发人员能够利用C#、VB.NET或其他.NET支持的语言无缝地连接到MySQL服务器。 首先,MySQL Connector/NET是Oracle公司开发的一个开源软件,它实现了ADO...

    基于Windows CE.NET的设备驱动程序开发.pdf

    ### 基于Windows CE.NET的设备驱动程序开发 #### 概述 Windows CE.NET作为一个功能强大的32位实时嵌入式操作系统,广泛应用于各种嵌入式设备中。该操作系统支持多种处理器产品,如x86、Xscale、ARM、MIPS等系列,...

    ASP.NET 3.5动态网站开发基础教程源文件

    1. **ASP.NET Web Forms**:Web Forms是ASP.NET的一个重要组成部分,它提供了一种事件驱动的编程模型,类似于Windows应用程序。Web Forms允许开发者创建一系列相互关联的网页,通过控件和事件处理程序实现用户交互。...

    ASP.NET 3.5动态网站开发案例指导光盘源码下载

    另外,ASP.NET 3.5还增强了AJAX支持,通过ASP.NET AJAX Control Toolkit提供了大量的客户端控件和行为,可以实现无刷新的用户体验。 在动态网站开发中,ASP.NET 3.5提供了一套完整的开发模型,包括Web Forms、ASP...

    Visual C++ .NET 开发驱动程序详解

    7. **C++特性与驱动开发**:C++的模板、类、异常处理等特性可以提升代码的可读性和可维护性,但需要注意的是,某些特性在驱动开发中可能不适用,因为它们可能引入额外的开销或引发不可预期的行为。 8. **安全编码**...

    ASP.NET动态网站开发教程(第二版)

    1. **Web Forms**: ASP.NET Web Forms是ASP.NET框架的核心部分,它允许开发者通过拖放控件和事件驱动编程来构建网页,类似于Windows Forms的开发体验。 2. **MVC模式**: ASP.NET MVC(Model-View-Controller)是一...

    ASP.net MVC SportsStore项目开发四

    首先,ASP.NET MVC是一个模型-视图-控制器(Model-View-Controller)架构模式的应用框架,它由微软开发,用于构建动态、数据驱动的Web应用程序。MVC模式将应用程序分为三个主要组件:模型(Model)处理业务逻辑和...

    ASP.NET+2.0动态网站开发教程

    本教程旨在全面讲解如何使用ASP.NET 2.0进行高效、专业的网站开发。 一、ASP.NET 2.0概述 ASP.NET 2.0相较于1.1版本有诸多改进,包括更友好的开发环境、增强的控件和数据绑定、以及改进的配置管理。它支持多种编程...

    ASP.NET与网络数据库开发培训教程

    它是.NET Framework的一部分,提供了一种高效、易用且功能强大的工具,用于创建交互式的、数据驱动的Web应用程序。ASP.NET的核心优势在于其内置的安全性、可伸缩性和高效率,使得开发者可以更专注于业务逻辑的实现,...

    庖丁解牛ASP.NET3.5 控件组件开发技术光盘源码

    ASP.NET 3.5 是微软推出的Web应用程序框架,它是.NET Framework 3.5的一部分,用于构建动态、数据驱动的Web应用程序。"庖丁解牛ASP.NET3.5 控件组件开发技术光盘源码"是一个专门针对ASP.NET 3.5控件组件开发的学习...

    一个C#+ASP.NET+XML开发的WEB工作流程图组件源码

    这个源码项目,"一个C#+ASP.NET+XML开发的WEB工作流程图组件源码",为开发者提供了一个完整的解决方案,用于创建自定义的工作流程图表,特别适合于需要在Web应用程序中实现流程审批、任务分配等业务逻辑的场景。...

    ASP.NET web 开发示例

    1. **ASP.NET框架基础**:ASP.NET是.NET框架的一部分,它提供了丰富的服务器控件、事件驱动模型和自动状态管理,简化了Web应用的开发。ASP.NET页面生命周期包括初始化、加载、回发、验证、呈现和卸载等阶段,开发者...

    至理:精通ASP.NET3.5网络开发源代码

    2. **Web Forms**:ASP.NET 3.5中的Web Forms允许开发者使用控件和事件驱动的编程模型创建网页,类似于Windows应用程序的开发体验。开发者可以通过拖放控件,绑定数据源,处理事件来快速构建功能丰富的交互式页面。 ...

    ASP .NET动态网站开发教程

    本教程将深入探讨ASP.NET动态网站开发的核心概念和技术。 一、ASP.NET概述 ASP.NET是一个服务器端的Web应用程序框架,它允许开发者使用多种编程语言(如C#、VB.NET)来编写网页代码。通过ASP.NET,开发者可以创建...

    ASP.NET3.5网站开发实例教程(电子教案)

    ASP.NET 3.5是微软公司推出的一种基于.NET Framework 3.5的Web应用程序开发框架。这个技术允许开发者使用各种编程语言,如C#、VB.NET等,来创建动态、数据驱动的网站和Web应用程序。ASP.NET 3.5不仅继承了前一版本的...

    asp.net动态网页开发教程

    另外,ASP.NET Web Forms是另一种开发模式,它提供了一种事件驱动的编程模型,类似于桌面应用的开发体验。虽然与MVC相比,Web Forms在某些方面可能不够灵活,但它对于初学者来说更容易上手。 在上传功能试验品中,...

    ASP.NET 2.0动态网站开发教程(很实用)

    ASP.NET 2.0的应用程序配置通常通过web.config文件进行,它可以设置应用程序的行为、数据库连接字符串、安全策略等。了解如何配置和部署ASP.NET应用,包括IIS的设置、发布工具的使用,是开发过程中的重要环节。 五...

Global site tag (gtag.js) - Google Analytics