【发布时间】:2011-06-07 04:49:16
【问题描述】:
众所周知,TDD 的意思是“先写测试,再写代码”。当涉及到单元测试时,这很好,因为你被限制在“单元”内。
但是,在 UI 方面,事先编写功能测试就没那么有意义了(对我来说)。这是因为功能测试必须验证一组(可能很长)功能需求。这通常可能跨越多个屏幕(页面),前提条件如“登录”、“最近插入了一条记录”等。
测试驱动开发很难用于需要完整功能测试来确定成功或失败的情况。这些示例包括用户界面、与数据库一起使用的程序,以及一些依赖于特定网络配置的程序。
(当然,维基百科不是“权威”,但这听起来很合乎逻辑。)
所以,任何想法,或者更好的经验,首先是 UI 的功能测试,然后是代码。它有效吗?是“痛”吗?
【问题讨论】:
-
我已经在许多复杂的场景中成功地使用了 TDD。 TDD 当然不限于单元测试。您是否有您认为对 TDD 造成痛苦的特定场景?
标签: unit-testing tdd functional-testing