Open ucooling opened 8 years ago
这个在“测试驱动开发实用指南”这本书的前几章讲了,比如一个测试类里要放什么样的测试,什么情况下应该拆分到多个测试类,test suite怎么用,package怎么用等。我觉得你可以看看这本书(或者找我借),然后我们可以讨论一下
设计是为了更好的组织实现。让实现的代码具有良好的可读性,良好的扩展性。
如果你根据TDD or BDD, 先用测试来使用你的代码,让测试来约束当前代码的scope .
_如果你在做一个WebUI相关的任务_
先做Web UI的mockup, 然后 controller -> services -> model ....
_如果你做API_
先确定最基本的input/output, 然后 controller -> services -> model...
按照上面的策略,代码始终是从上层TDD or BDD到下层。 每一层都由上层来确定scope。
写controller层的时候,services还不存在. mock service 此时controller测试中对services的mock(先确定如何使用service),就是service层的scope 以此类推Model层提供的方法
Write Test First(Red) -> Make it Green -> Refactor
Refactor
设计模式实在第三步
才会考虑的东西。 所以一开始追求好的设计,基本都会被block住。困扰你的问题可能是:
设计从测试开始,先写使用,再写实现.
曾经有这么个传说,什么是好的设计?
加一行多余,删一行不行
之所以抛出这个问题,就是说,我已经完成了任务分解的工作,但是当在写实现的时候,该怎么去设计自己的代码,是每个任务写到一个文件还是相关的写到一个文件,还是有什么其他的选择?