对于一般性问题感到抱歉,但对TDD存在疑问。 TDD先说一个创建测试用例,然后写下代码。但我很难遵循这一步骤。我的意思是从头开始创建一个代码,首先我概述了对象的关系,然后在理论上我从测试开始,但对于我来说,抽象我需要在测试中编写的所有内容有点困难。
很抱歉,如果这是一个愚蠢的问题,但你先为创建测试做了什么?您在真正开始编写测试之前列出了您将要测试的所有行为,或其他什么?
答案 0 :(得分:2)
你可能想的太大了。当你谈到一个大纲和多个对象时,你正在考虑大局和单元测试 - 我们在谈论TDD时通常谈论的那种测试 - 单元测试是关于测试微小的功能元素。甚至不是完整的课程,只是这些课程的个别方法。在编写代码之前,你不会期待和编写一组测试 - 你正在编写一个。一个小小的测试,然后编写您需要的代码才能通过测试。然后根据需要进行清理,然后再使用下一小部分功能进行迭代。
你会知道你将要写的对象和他们关系的想法,但只是一个朦胧的对象,你不需要事先改进它。相反,您可以随时进行优化,逐个测试,逐个方法。当你认识到一种改进你的设计的方法 - 你迄今为止已经开发的具体的已经编写的类 - 你做了改进,所以你的设计,而不是在没有类和测试的背景下提前精心计算出来,相反,通过代码和测试,您的设计可以与代码和测试一起出现。
从单一测试开始。您需要创建一个类来传递该测试,并且您需要向该类添加一个方法。当您对该单个类的单个方法的状态感到满意时,请确定下一部分功能应该是什么,并为其编写测试。
那是TDD。它需要练习和训练,但它是编写优秀代码的好方法。祝好运!