当我第一次学习C++时,我看到了这篇关于工厂的文章,,自从我在C++中的工厂中使用这个模式以来。现在,我最近一直在使用Java,不止一次我想使用工厂,但我似乎无法找到在编译时扩展工厂的方法。我可以在Java中想到的工厂的任何实现都需要告诉实际的工厂类所有的底层类,这是相当不理想的。编辑似乎我的问题太模糊了。static Derived tmp = new Derived();
public Foo makeFo
IMOP,fixture远比工厂好;更容易使用,更容易编写,更容易理解(没有魔力)。我的建议:将你的测试库限制在非常基础的(听DHH)...use最小的fixtures。为了创建用于测试的完整工厂,我需要创建一个跨工厂的用户和学校。在我最近的尝试中,我得到了一个“堆栈级别太深”的错误。而且,我相信在每个新工厂之前,我的每个DatabaseCleaner.clean都会清除测试数据库。调用这些工厂的测试是:
def lo