我实行TDD,但对于组织单元测试并不是很严格。通常我会用一个文件来代表下一个故事或功能块,并编写所有的单元测试来使其工作。
当然,如果我要引入一个新的类,通常我会为该类创建一个单独的单元测试模块或文件,但我并不将这些测试本身组织成任何更高级别的结构。结果就是我能快速编写代码,并且我相信我的实际程序结构合理,但单元测试本身比较“凌乱”。特别是它们的结构倾向于重复开发过程的进化史。有时候我发现自己在代码中换了懒惰,但在测试中也换了懒惰。
这到底是多大的问题?在这里有谁不断地重构和重新组织他们的单元测试以尝试改善整体结构?有什么建议吗?测试的整体结构应该是什么样的。
(注意,我问的不是这里提出的“每个函数/方法应该写多少个断言”的问题:我应该为每个函数/方法编写多少个单元测试? 我谈论的是更大的局面。)