我正在尝试使用TDD实施策略模式。每个策略项都实现一个接口。使用TDD的最佳方法是什么?
您是否必须为接口的每个实现创建一个测试夹具,测试相同的方法但是在每个实现上?
欢迎任何详细说明采取措施的文章:)
答案 0 :(得分:2)
在第2步中,编写未实现策略模式的代码(即使存在重复代码,也可以使用最简单的代码)。
然后在第3步中,如果仍然有意义的话,你将每个类一次一个地重构为策略模式。
如果你真的在做TDD,那么你不会从一个模式开始 - 你重构它。
答案 1 :(得分:1)
我想我会为策略的每个实现编写一个单独的测试类。
您可以为所有这些继承制作一个抽象类。这可以帮助您确保为每个策略实现所有测试,但是在每个测试类甚至可以编译之前,您必须至少实现存根方法。