如果您想将开发过程从测试驱动开发转移到Behavior-Driven Development您将采取或推荐的路径?
您可能面临的挑战是什么?随着范式的改变,移动开发过程本身将是一项艰巨的任务,思维过程和项目执行的前景发生变化。
有没有人真正体验到这种转变顺利进行(嗯...可能不是那么顺利)?
或者是否有人试图实现这一转变?
我知道这可能不适用于每一件事。但如果有人需要朝着这个方向迈进,那么合乎逻辑的步骤是什么。
我从以下SO帖子中只有关于BDD的基本信息。 Primary differnce between TDD and BDD
我正在寻找的关键点是:
提前致谢。
关于.NET的BDD Framework,我在SO中看到了这篇文章 Most Mature BDD Framework for .NET
答案 0 :(得分:5)
当我开始研究BDD时,我调查了所有框架(对于.net)并最终没有使用它们。主要原因是我觉得社区还没有确定语法和最佳实践,所以我继续使用NUnit和基于Ben Scheirman的blog post的基类。这非常好,因为BDD不是关于工具,而是使测试干净且易于理解,这对于像nunit这样的普通工具来说是完全可能的。
与我的旧单元测试相比,新风格更具可读性,并且更加注重命名和行为。我们打印方法名称并与业务人员讨论该系统并不是那么远。
Scott Bellware的一些额外阅读:Behavior-Driven Development
考试考试:
public class WhenAddingLineItemToEmptyOrder : BDDBase
{
Order order;
[SetUp]
public void Arrange()
{
order = new Order();
}
public void Act() // called by BDDBase
{
LintItem item = new LineItem();
item.Quantity = 1;
item.Price = 10;
order.AddLineItem(item);
}
[Test]
public void TotalPriceShouldBeUpdated()
{
Assert.AreEqual(10, order.TotalPrice);
}
[Test]
public void OrderCanBeCheckedOut()
{
Assert.IsTrue(order.CanBeCheckedOut)
}
}
答案 1 :(得分:3)
据我所知...... BDD是一种看待TDD的新方式。这更像是一种精神转变,而不是一项新技术。
我的意思是说你可以在技术上使用单元测试工具来做BDD
答案 2 :(得分:0)
行为驱动开发是一种现代敏捷工具,使您的公司能够重新获得开发人员的核心竞争力,以便找到更好的沟通方式,增加管理愿景的交叉,从而使您能够从根本上有效地创造价值。您内在市场地位的新水平。
来自测试驱动开发的思维模式转换体现了一种范式转变,包括深度工作流分析,通过最先进的敏捷方法的持续反馈,以及对潜在行为场景转换矩阵的仔细关注。
答案 3 :(得分:0)
您可能想听Hanselminutes Show # 146 - Test Driven Development is Design - The Last Word on TDD。
Scott Bellware最有趣的事情是:“测试驱动开发就是设计”
为他“开启”的书:Test-Driven Development in Microsoft® .NET(对于.NET开发人员,请听播客的上下文)