TDD与战略模式

时间:2010-06-03 12:36:43

标签: tdd design-patterns strategy-pattern

我正在尝试使用TDD实施策略模式。每个策略项都实现一个接口。使用TDD的最佳方法是什么?

您是否必须为接口的每个实现创建一个测试夹具,测试相同的方法但是在每个实现上?

欢迎任何详细说明采取措施的文章:)

2 个答案:

答案 0 :(得分:2)

  1. 编写失败的测试
  2. 编写难看的代码以使测试通过
  3. 重构以使代码更好
  4. 在第2步中,编写未实现策略模式的代码(即使存在重复代码,也可以使用最简单的代码)。

    然后在第3步中,如果仍然有意义的话,你将每个类一次一个地重构为策略模式。

    如果你真的在做TDD,那么你不会从一个模式开始 - 你重构它。

答案 1 :(得分:1)

我想我会为策略的每个实现编写一个单独的测试类。

您可以为所有这些继承制作一个抽象类。这可以帮助您确保为每个策略实现所有测试,但是在每个测试类甚至可以编译之前,您必须至少实现存根方法。