作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
<分区>
最近我尝试在一个项目中采用更多 TDD 实践时遇到了一种情况,涉及到涵盖 future 需求的测试,这让我很好奇其他人是如何解决这个问题的。
例如,我正在开发一个名为 SuperUberReporting 的应用程序,当前版本是 1.4。当我正在开发将包含在 SuperUberReporting 1.5 中的功能时,我为新的文件导出功能编写了一个测试,该功能将允许将报告结果导出到 CSV 文件。在编写该测试时,我突然想到,支持导出为某些其他格式的功能预定用于问题跟踪软件中记录的更高版本 1.6、1.7 和 1.9。现在我面临的问题是我是否应该为这些其他格式编写测试,还是应该等到我真正实现这些功能后再编写?这个问题触及了一些关于 TDD 的更基本的问题,我想问得更广泛一些。
是否可以/应该在知道需求后立即编写测试,或者需求的稳定性程度是否应该以某种方式决定是否应该编写测试?
更一般地说,应该提前多长时间编写测试?编写一个将在两年内失败直到该功能计划实现的测试是否可以?如果是这样,那么人们将如何组织他们的测试以将需要通过的测试与尚未需要通过的测试区分开来?我目前正在将 NUnit 用于 .NET 项目,所以我不介意具体细节,因为它们可能会更好地演示如何完成此类组织。
我是一名优秀的程序员,十分优秀!