我来自python/django的背景。你知道吗
我一直在读关于BDD的书,为什么它比TDD更棒。但我脑子里几乎没有疑问的是,做BDD的理想方法是什么?是否排除了编写单元测试的可能性?是否排除了进行集成测试的可能性?我找不到答案,也找不到实现BDD的有序路径。你知道吗
为了通过TDD设计django polls application,我将如下所示:
为模型编写测试,然后使测试通过。
为表单编写测试,然后使其通过。
为视图编写测试,然后使其通过。
为自定义模板标签和中间件编写任何其他测试,并使其通过。
从我开始写视图开始,就要不断地编写集成测试。
根据我的阅读,我能理解的是,如果我设计一个django民意测验应用程序,我必须遵循以下流程:
用小黄瓜语法编写场景
编写步骤
在这些步骤中,可能会基于ui响应(集成)使用一些断言(unit)
不确定,下一步做什么/怎么做,甚至第3部分是正确的。
请帮我澄清我的困惑,并提出一个简短的提纲
请告诉我,我该怎么办。当我们执行django polls application时,尝试BDD的顺序方法是什么。你知道吗
(我希望这个问题,不是主观的,所以是一个很好的地方问它,如果不是不要杀我。)
虽然BDD包含一些特定的技术实践(比如由场景引导的自动化、由外而内的开发、单元测试等等),但它的主要目标是改进项目内的通信(包括非技术涉众)。你知道吗
从收集规范开始-以示例的形式-通过与涉众讨论。这可以用很多方法来实现,这里最重要的是交谈。在讨论过程中,不要强迫他们或你自己去写一些小黄瓜的有效场景。只需捕获预期的行为以及验收标准(即系统必须遵循的约束条件)。你知道吗
然后,你将把场景形式化,理想的情况下,与业务人员一起检查它们。这个阶段很有趣,因为它将验证您(和团队)对规范的理解。你经常会意识到自己做了错误的假设:)
当您定义了一系列规范(特性)并约定了它们的优先级后,就可以开始实际的开发过程了。你知道吗
我通常的工作方式是这样的:
这基本上是由外而内的发展。正如您可能已经注意到的,步骤4到7是通常的TDD循环。这个工作流程的一个好处是TDD周期得到了正确的引导:您不必考虑下一步要做什么。由于场景失败堆栈跟踪,实际的下一个所需行为将显式显示给您。你知道吗
当然,这是做事的一种方式。没有什么东西是用石头写的,你可以改变它。你知道吗
相关问题 更多 >
编程相关推荐