for*_*ran 3 java unit-testing design-patterns
我有一组在实例化时具有依赖关系的类,也就是说,在创建类型A的对象时,它还创建另一个类型B,随后创建其他类型为C的类,等等.
对于测试问题,我不需要所有级别的全部功能来测试上层,所以我可以使用存根或模拟,但是因为我new在构造函数中有明确的,所以除了更改之外我看不到直接的方法代码使用AbstractFactory并提供一个在测试时创建假货的代码.
那么,是否有任何"黑魔法"方法来破解Java类加载器,以便在实例化对象时创建虚假测试类而不是正常测试类new?
谢谢!
为什么不添加一个将这些依赖项作为参数的构造函数,而不是在构造函数中自己创建它们?我个人会添加一个并删除另一个:)注入依赖项使代码更容易测试,将来更灵活(因为您可以在以后轻松注入不同的实现,而无需更改代码.)