`
tyny
  • 浏览: 74309 次
  • 性别: 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

分享到:
评论

相关推荐

    ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架+通用权限管理系统源码

    5、采用Knockout,,提供了一个数据模型与用户UI界面进行关联的高层次方式(采用行为驱动开发) 6、数据访问层采用强大的Fluentdata完美地支持多数据库操作 7、封装了一大部分比较实用的控件和组件,如自动完成控件...

    asp.net知识库

    ASP.NET 2.0 正式版中无刷新页面的开发(示例代码的补充) ASP.NET2.0中themes、Skins轻松实现网站换肤! ASP.NET 2.0 中的代码隐藏和编译 ASP.NET 2.0 Language Swithcer and Theme Swicher 多语言转换和多样式主题...

    基于 ASP.NET MVC4.0 + WebAPI + EasyUI + Knockout 的架构设计开发

    5、采用Knockout,,提供了一个数据模型与用户UI界面进行关联的高层次方式(采用行为驱动开发) 6、数据访问层采用强大的Fluentdata完美地支持多数据库操作 7、封装了一大部分比较实用的控件和组件,如自动完成...

    spring.net中文手册在线版

    Spring.NET是一个应用程序框架,其目的是协助开发人员创建企业级的.NET应用程序。它提供了很多方面的功能,比如依赖注入、面向方面编程(AOP)、数据访问抽象及ASP.NET扩展等等。Spring.NET以Java版的Spring框架为...

    asp.net+Web+mvc4.0 EasyUI 最新 权限管理系统源码教程

    5、采用Knockout,,提供了一个数据模型与用户UI界面进行关联的高层次方式(采用行为驱动开发) 6、数据访问层采用强大的Fluentdata完美地支持多数据库操作 7、封装了一大部分比较实用的控件和组件,如自动完成...

    ASP.NET Web API设计

    深入理解HTTP,以及API开发的概念和风格, ASP.NET Web API基础知识,包括该框架处理HTTP请求的生命周期, 以“问题跟踪”API为例,探讨用Collection+JSON实现超媒体支持, 采取BDD(行为驱动开发)方式开发ASP.NET Web...

    Microsoft .NET Framework 3.5 Service Pack 1

    ASP.NET 动态数据,它提供了丰富的框架,从而使用户可以快速进行数据驱动的开发,而无需编写代码;ASP.NET AJAX 的一项新增功能,对管理浏览器历史记录提供了支持(支持后退按钮)。有关更多信息,请参见 What’s ...

    ASP.NET的网页代码模型及生命周期

    在ASP.NET中,通过使用模拟事件驱动模型的行为代替了ASP的线性处理模型。ASP.NET页框架模型隐式的为用户建立了事件和事件处理程序的关联。ASP.NET让用户可以为从浏览器传递的事件在服务器代码中设置相应的处理程序。...

    CSDN 微软技术高级讲师.NET技术企业高级培训PPT

    (25) 事件驱动开发使用 (26) GDI+图形编程 第三部分 Ado.NET(2天) (1) ADO.NET结构 (2) ADO.NET工作原理 (3) 数据提供者(Data Provider) (4) Data Provider 优点 (5) 数据集(DataSet) (6...

    .net cf 2.0 运行效率提升方法[类似WPF]

    鼎盛的win时代,我们使用了vc,c++builder,vb,等众多开发工具,效率都不慢,直到.net出现,从我个人的认为,.net带来的高开发效率主要是来自对窗体的抽象,我们操作属性可以等同对control或者form进行了SetWindowText...

    行为测试驱动(BDD)框架Machine.Specifications.zip

    行为驱动开发(Behavior-Driven Development)是领域驱动设计开发(Domain Driven Design)在测试领域的应用,剔出代码噪音。 因此,MSpec封装nUnit之后的重点就在于,体现测试本身的业务概念: 系统或者模块在某种...

    ASP.net技术内幕

    ASP的最新版本ASP.NET是Microsoft用于建立动态的数据库驱动网站的技术。内容包括:ASP.NET Web表单的使用,高级ASP.NET页面的开发,ADO.NET的使用,ASP.NET应用程序的使用, ASP.NET应用程序的保护,ASP.NET Web服务...

    ASP.NET WebAPI+mvc4.0+EasyUI快速开发框架+通用权限管理系统源码+说明教程文档资料.zip

    5、采用Knockout,,提供了一个数据模型与用户UI界面进行关联的高层次方式(采用行为驱动开发) 6、数据访问层采用强大的Fluentdata完美地支持多数据库操作 7、封装了一大部分比较实用的控件和组件,如自动完成控件...

    SD.Framework:经典领域驱动开发框架DDDAOPWCFNoSql事件驱动企业级服务端应用架构支持.NET Core

    本框架致力于提升开发效率,减少领域驱动设计实现的复杂性; 基于个人长期使用的经验,遵循面向对象的设计原则,不断从业务项目中提取,逐渐演变为该框架; 框架中主要涉及泛型、反射、委托、事件、特性、Lambda...

    VL53L5CX驱动开发(3)-检测阈值

    VL53L5CX驱动开发(3)----检测阈值 CSDN文字教程:https://blog.csdn.net/qq_24312945/article/details/133828169 B站教学视频:https://www.bilibili.com/video/BV1WC4y1G79n/ 本章展示如何使用VL53L5CX近接传感器的...

    Hands-On-Domain-Driven-Design-with-.NET-Core:.NET Core的动手领域驱动设计,由Packt发布

    通过弄清行为驱动的域模型的时间特性,您将能够构建更精简,更敏捷和模块化的系统。 本书涵盖以下激动人心的功能: 与业务利益相关者一起发现并解决领域的复杂性创建域模型时避免常见的陷阱研究边界上下文和聚合的...

    simbed:在.NET中开发的事件驱动的类似Simulink的仿真环境,其中嵌入了IronPython引擎以提供可扩展性

    在.NET中开发的类似Simulink的动态系统仿真环境,其中嵌入了IronPython引擎,以提供可扩展性。 特征 逐步仿真:可以通过2种方式完成仿真。 连续和逐步。 在后者中,可以逐步观察系统行为,从而更仔细地观察系统的...

    ASP.NET设计模式-杨明军译(源码)

    1.4.3 行为驱动设计 1.5 小结 第2章 剖析模式的模式 2.1 如何阅读设计模式 2.1.1 GoF模式模板 2.1.2 简化模板 2.2 设计模式分组 2.2.1 创建型 2.2.2 结构型 2.2.3 行为型 2.3 如何选择和运用设计模式 ...

    .NET的测试工具和框架列表:。.NET的自动测试(TDDBDDATDDSBE)工具和框架列表

    NET的自动测试(TDD / BDD / ATDD / SBE)工具和框架列表这是与测试的方法和类型有关的.NET自动化测试框架的列表: 测试驱动开发(TDD) 行为驱动开发(BDD) 范例说明(SBE) 验收测试驱动开发(ATDD) 基于属性的...

Global site tag (gtag.js) - Google Analytics