在写一个功能之前? 写完一个功能后? 在达到里程碑之前写了几个功能?
我的开发人员认为他们在第一里程碑中排名第3,因为他们会在初始开发期间进行重构和优化,并且在重构代码后,他们创建的单元测试可能无效。
答案 0 :(得分:1)
由于您添加了tdd标记,这意味着您正在练习测试驱动开发。在这种情况下,在任何代码之前首先编写单元测试。
有了需求,知道该怎么做,首先编写单元测试相当简单。当然,最初编译将失败,但这与破坏的单元测试的处理方式相同。
我的开发人员认为他们在第一里程碑中排名第3,因为他们会在初始开发期间进行重构和优化,并且在重构代码后,他们创建的单元测试可能无效。
这是胡说八道。如果没有测试(单元,集成等),就不可能重构代码。你怎么验证代码是做同样的事情呢?
答案 1 :(得分:0)
通常,单元测试是指测试执行特定操作的一小段代码。至少根据我的经验,最低粒度将是一个函数,但是您可以对该函数进行多个单元测试,以通过该函数执行不同的输入参数和路径。
鉴于此背景,即使在实施开始之前,也会在详细设计阶段明确定义功能。因此,在完成函数编写后立即编写单元测试是有意义的。
当重构发生时,会出现两种情况:
无论哪种方式,最好与实施一起进行单元测试。问题在实施周期的早期就被发现。另一个想法:什么触发重构?可能是糟糕的设计。在某些情况下,您可能会发现在进行单元测试时需要重构。最终,单元测试旨在帮助开发人员并对自己的代码充满信心。它不应被视为安抚项目经理的多余工作。