tdd的粒度

   发现这个问题目前还处于空白状态,搜了很久没看见讨论。希望管理员不要把它移到问答区,大家发帖子或多或少都会有些疑问,没疑问的帖子还会有讨论价值吗。
   进入正题。一个系统的功能结构都是树形的,底层的最简单,越往上就越复杂,因为它对底层功能的集成越来越多。刚开始时的测试都是针对底层编写的,这很轻松,基本上没问题;可当需要编写高层功能时,问题就来了:要不要写测试?
1、写。这就是每一层都写测试,层级越多就意味着底层的代码重复测试的次数也越多,tdd强调频繁运行测试,这不是很浪费时间?这还不够严重,假如该层集成的某些功能不是自己写的,无法保证其可靠性,这又该如何?其实问题可以总结为:我希望“A依赖于B,但A的测试只会因为A的问题而出现问题,跟B无干”。结论是,层级越高的功能,测试越难编写,越受限制。
2、不写。只针对所有的底层代码编写testCase。那高层的代码怎么办,连testCase都没有可靠性从何谈起?
   从个人的实践来看,这个问题很实际。

猜你喜欢

转载自hyj1254.iteye.com/blog/1039843
TDD