如果要将开发过程从“测试驱动的开发”转移到Behavior-Driven Development,您将采取或建议的路径是什么?
您可能面临的挑战是什么?随着范式的改变,思想过程的转变以及项目执行前景的改变,移动开发过程本身将是一项艰巨的任务。
有没有人在使这一转变顺利进行方面有过真正的经验(嗯……可能不那么顺利)?
还是有人试图做出这种转变?
我了解这可能不适用于每个事物。但是,如果有人需要朝着这个方向前进,那将是合乎逻辑的一步。
我仅从以下SO帖子中获得有关BDD的基本信息。
Primary differnce between TDD and BDD
我要寻找的关键点是:
提前致谢。
编辑:
关于.NET的BDD框架,我在SO中遇到了这篇文章
Most Mature BDD Framework for .NET
最佳答案
当我开始研究BDD时,我研究了其中的所有框架(用于.net),最终没有使用任何框架。主要原因是我觉得社区尚未确定语法和最佳实践,因此我继续将NUnit与Ben Scheirman的基于blog post的基类一起使用。这样做非常有效,因为BDD与工具无关,而是使测试清晰易懂,而使用nunit等常规工具完全可以做到。
与我的旧单元测试相比,新样式更具可读性,并且更加关注命名和行为。我们并没有打印出方法名称,并且与业务人员就系统进行了讨论。
Scott Bellware的其他一些阅读 Material :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)
}
}
关于unit-testing - 您建议从TDD转移到BDD的哪些步骤?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/462401/