1
7
当任务是针对第三方API进行开发时,我做的第一件事是编写原型(如果愿意,可以编写集成测试)以获得预期/期望的结果。然后,我创建一些单元测试来强制实现这种期望,并将原型重构为我将继续使用的实际代码。 是的,我觉得这很典型。从最纯粹的意义上讲,这可能不是TDD,但我同意。 |
2
4
您是否使用测试来驱动开发?即TDD? 如果是这样,你就走对了。 “集成测试”和“单元测试”是模糊的定义。学者们可以在试图找到区分它们的方法时把头发分开。 不要浪费时间去理头发。 先写测试。 |
3
3
我不确定这有多普遍,但我肯定已经看到,更高级别的测试是提倡的第一步。例如,在 Growing Object-Oriented Software Guided by Tests 首先,作者建议创建一个功能/验收测试脚手架,然后通过编写高级验收测试开始驱动开发(验收测试位于测试三角的顶端,中间是集成测试,底部是单元测试,所以它实际上是相同的原则)。 结果是这样的:
|
4
1
嗯,是的,我通常也是这样,但这真的取决于你和什么一起工作以及你有多相信它。 例如,对于与数据库一起工作的东西,集成测试通常比单元测试更可靠,因为例如,nhibernate可以并且将为某些条件生成不正确的查询。 另一方面,如果您的算法是一个复杂的算法,从第一次尝试(例如复杂的regex/解析,或复杂的业务规则)就很难正确地编写,那么单元测试可能更有意义,因为您不希望等待(通常较慢的)集成测试。 |
5
0
我相信这取决于:
|
John V · 是否存在单元测试无法发现的逻辑/流错误类型? 6 年前 |
Beefster · 为什么ANSI颜色转义以“m”而不是“]”结尾? 6 年前 |
Guillermo Gutiérrez · STR转换是如何工作的? 7 年前 |
RudziankoÅ · 合并排序数组算法 7 年前 |
user8852560 · 构造函数中的验证和构造函数冲突 7 年前 |
jav974 · 订购产品时寻找最佳价格组合的算法 7 年前 |
hippietrail · 确定浮点数中前导零的数量 7 年前 |