那里有任何BDD成功案例吗?

时间:2009-01-16 09:53:34

标签: c# .net bdd nbehave

在BDD上写了一个small article后,我从人们那里得到了一些问题,询问是否有任何大规模使用BDD的案例(特别是NBehave)。

所以我的问题是社区:你有一个成功使用BDD的项目吗?如果是这样,你获得了什么好处,哪些更好?你会再做BDD吗?你会推荐给其他人吗?

4 个答案:

答案 0 :(得分:4)

我们在不同场景(开源和ND项目)的代码级别使用了一些BDD。

  1. 在MVC场景中讲述视图,用户接受哪种输入(DDD and Rule driven UI Validation in .NET

    result = view.GetData(
      CustomerIs.Valid, 
      CustomerIs.From(AddressIs.Valid, AddressIs.In(Country.Russia)));
    
  2. 告诉服务层,关于异常处理行为(ActionPolicy注入装饰器):

    var policy = ActionPolicy
      .Handle<WebException>()
      .Retry(3);
    
  3. 使用这些方法极大地减少了代码重复,使代码库更加稳定和灵活。此外,由于复杂细节的逻辑封装,它使一切变得更加简单。

答案 1 :(得分:2)

我参加了一个在网站上使用BDD的小团队。

我们使用它的方式基本上是TDD,但测试只是使用DSL编写为行为。我们没有进入大型的前期设计行为,但我们确实创建了大量的行为,并且完全按照您的测试方式使用它们。

正如您所料,它与TDD一样,通常很好。将测试描述为行为很好,当与客户进行交互并制作相当不错的文档时,我有点希望这些行为是用英语编写的,并且测试编程而不是试图提出一些不困难的中间语言适合任何目的。

它仍然是BDD,只是没有这种可爱的伎俩,试图将语言扭曲成一个由random_looking.set of_Punctuation而不是simple_spaces描述的语言,但这只是我脾气暴躁的程序员态度,其他人都是100%满意。

该网站已经可用且完全正常运行,所以我称之为成功:Have a look

答案 2 :(得分:1)

我最近在高级需求文档中使用了GWD的BDD风格。我没有从客户那里得到任何有关GWT的反馈购买我的老板说他喜欢它,因为它非常清晰易懂。请注意,他不了解我所知道的BDD。我没有插入用户故事,因为对于拥有传统瀑布背景的人来说,这可能有点过于通风。也许下次我会尝试输入用户故事。

顺便说一句,这不是一个眼球UI项目。这是一个集成项目,将Web服务中的数据同步到数据库中。因此,它表明GWT甚至适用于非“眼球”UI。

答案 3 :(得分:0)

我一直在几个项目上使用Context-Specification样式(使用MSpec)并取得了巨大的成功。我仍然试图了解Scenario风格的真正好处。我使用上下文规范的风格越多,我就越喜欢它,我的应用程序感觉越紧。