单元测试 – 如何正确创建功能,测试,故事并将其分解
我试图掌握整个TDD方法,因此,我真的不知道如何将其作为一个很简洁的问题来呈现,所以这里是冗长的版本.
我似乎正在经历保龄球(马丁),钱(羽毛)和其他类似的游戏/简单示例和功能齐全的企业应用程序之间的差距. 我试图弄清楚我是否遗漏了类似功能概念的东西,据我所知,这是增加商业价值的东西,或者在做TDD时如何正确地分离问题以及每种方法如何适用于另一个. 不是试图开始任何战争,我很确定事实并非如此,所以我告诉自己“商业价值”必须将中间应用从客户业务价值转移到业务(应用的创建者)业务价值. 所以我试着像这个常见的例子那样切换它 至: 然后: 然后开始扩展到我认为完全不可接受的东西: 即使您将每个功能分解为自己的“功能”,您仍然会遇到日志问题,通知系统分析员应用程序发生异常或发生网络错误或找不到数据库等,或者业务组发现具有无法识别的帐号的订单是遇到过等 所以,既然我对此感到困惑,以至于我不知道如何将其作为一个清晰的问题,我会试着总结一下. 你如何确定何时/何地以及如何分解这些东西并将它们分开? 我愿意接受包括更多书籍,教程和视频在内的答案,但我认为,如果有一些真实世界的应用程序可以解释这些类型的东西,这些应用程序都遵循敏捷&可能提供最大价值的TDD原则? 让我尝试别的. 我通过ftp从大型机获取一个文件,列出要与我们的供应商一起下的订单,这个文件称为摘要文件.我每5分钟检查一次这个文件.当有一个文件我解析它然后检查以确保我们通过MQ收到了这个摘要文件中列出的每个订单.作为双重检查,我还检查订单是否存在,因为如果未收到摘要文件,我们无法确保收到所有订单.有了这样说,以下看起来似乎我朝着正确的方向前进? Feature: Check for the presence of a summary file In order to verify all orders were sent through MQ from the mainframe a summary file must be found to determine the expected orders. Scenario: A summary file has not been sent Given a summary file does not exist When I check for the existence of a file Then I should sleep for 5 minutes Scenario: A summary file has been sent Given a summary file does exist When I check for the existence of a file Then I should validate the summary file Feature: Validate the summary file In order to process a summary file summary file must be valid Scenario: A valid summary file exists Given a valid summary file When I validate the summary file Then I should upload the order details to the order details DB. Scenario: An invalid summary file exists Given a invalid summary file When I validate the summary file Then I should log the errors encountered And email the erroneous file to the analyst email group 再次重复该操作,用订单替换摘要.这就是我想出来的.
你会想到:“……如果没有其他一些作品,你就不能拥有一件……”
故事分裂是一项技能.这需要练习,而且很难成为擅长. This page解释了这个概念,并提供了有关故事分裂的资源链接. 以下是您在分手时遇到问题的一个想法:
我看到该段中至少有4个故事: >作为BA,由于帐户和路由信息无效而导致订单输入失败,我希望帐户和路由信息通过电子邮件发送到带有订单文件的BA组,以便有人知道获取正确的信息并重新输入订单. 如果你的团队做得好TDD,那么分别实现这些故事应该不会太困难.您的代码将受到测试保护,以便如果在卡4上工作的人打破了卡1的功能,希望测试能够捕获它. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |