我是 TDD 方法的新手,所以我想知道是否有人经历过这种机智可以启发我一点。我想获得一些关于如何一起使用 UML 和 TDD 方法的线索。
我已经习惯了:用 UML 设计 --> 生成骨架类(然后保持同步)-> 实现,最后是测试。我必须承认测试部分是最糟糕的部分,所以我开始寻找其他东西 - TDD。所以我对它是什么有一些一般的了解,但在我继续之前,我有兴趣知道它是如何与软件设计,尤其是 UML 结合在一起的。
那么当我第一次设计/创建测试时,UML 如何适应?是否有可能首先设计类,从它们创建骨架类,从它们生成单元测试,这些测试将在 UML 预生成类的实际实现之前“填充”,这种方法是否会破坏整个 TDD?或者有没有其他方法可以将 UML 和 TDD 保持在一起?
最佳答案
如果您在编写第一个测试之前创建了一个完整的骨架类——我假设你的意思是一个定义了所有方法但为空的类——那么我会说你没有在做 TDD,并失去了 TDD 的好处。正如我们所做的 TDD - 测试驱动设计 - 我们的测试逐渐引导我们到下一个元素 - 方法和类 - 我们的程序需要。如果您已经在 UML 中预先确定、预先指定了您的类和方法是什么,那么您的大量设计已经完成,并且您的后续开发要么受限于遵循它,要么您已经浪费了后续工作将撤消的努力。
可能有多种方法可以同时使用 UML 和 TDD 进行设计,但是正如您所描述的,您是在 UML 中进行设计,然后 TDD 才有机会。这不会给您带来 TDD 的全部好处。
关于TDD 和 UML 一起,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3030660/