![]() |
1
16
以下是我将如何开始。假设您完全没有此应用程序的代码。
|
![]() |
2
3
这是一个非常好的开始测试。通过这一点,您可以定义预期的行为——它应该如何工作。现在,如果你觉得自己吃了一口比你想吃的大得多的东西。。您可以暂时忽略此测试,并编写一个更细粒度的测试,将部分或至少中途删除。然后是其他的测试,让你朝着第一个大考通过的目标前进。每一步都进行红-绿重构。 小测试,我认为意味着你不应该在一次测试中测试很多东西。e、 在我用这些参数调用了Method1()、Method2()和Method3()之后,g是state1、state2和state3中的组件D.A、B和C。 每个测试应该只测试一件事。你可以搜索优秀测试的质量。但我认为你的测试是一个小测试,因为它是 简短且专注于一项任务 使现代化 :作为一个尝试建议(来自贝克的书),你可能想坐下来,在一张纸上列出SUT的单线测试列表。现在您可以选择最简单的(您有信心能够完成的测试)来建立信心。或者你可以尝试一个你有80%自信但有一些灰色区域(也是我的选择)的方法,因为这将帮助你在学习过程中了解SUT。保留那些你不知道如何进行到底的。。。希望在容易的事情完成时,情况会变得更清楚。当它们变成绿色时,一个接一个地把它们去掉。 |
![]() |
3
1
我认为你有一个很好的开始,但不是这样认为的。这个应该产生更多测试的测试对我来说完全有意义,就好像你仔细想想,你知道生产订单号或零件号是什么吗?你必须构建那些可能导致其他测试的测试,但最终你会进行一些小测试,我相信。
|
![]() |
4
1
好吧,好吧,你碰到了我第一次尝试TDD时碰到的墙:) 从那以后,我放弃了它,仅仅是因为它使得重构成本太高——而且我在开发的初始阶段往往会进行大量重构。 我发现TDD最受监督和最重要的方面之一是,它迫使您在实际实现类接口之前定义类接口。当您需要将所有零件组装成一个大产品(嗯,组装成子产品)时,这是一件非常好的事情。在编写第一个测试之前,您需要做的是在编码之前准备好您的域模型、部署模型,最好是一大块类图——这仅仅是因为您需要识别不变量、最小值和最大值等,然后才能测试它们。您应该能够在设计的单元测试级别上识别这些。 Soo,根据我的经验(不是一些喜欢将真实世界的类比映射到OO:P的作者的经验),TDD应该是这样的:
|
![]() |
Andy · 如何记录Scrum/敏捷/TDD过程中未定义的行为[已关闭] 10 年前 |