我过去曾就这个话题进行过对话,我想我可能知道答案,但我无法正确表达。
以下是我认为我知道的:
如果您在编写测试之前已经对事情如何工作有想法,那么我怀疑您是测试优先而不是测试驱动,因此您首先编写测试,在实施您的想法之前测试您的想法。即您对实现的想法是第一位的,并推动了测试的样子。
如果您是测试驱动型的,那么您正试图通过测试来驱动实现的样子。你为一些你想要的行为写一个测试,而不是先入为主的实现想法,所以你必须在“重构”阶段想出一个实现才能很好地通过测试。
我的问题是:
- 我是否正确理解了这一点?
- 当大多数开发人员很自然地在他们接触键盘之前就立即开始在他们的脑海中探索解决方案是很自然的,一个人如何从测试优先的心态进入测试驱动的心态?