【发布时间】:2009-06-17 02:48:55
【问题描述】:
所以我有一个看起来像下面这样的辅助方法:
private D GetInstanceOfD(string param1, int param2)
{
A a = new A();
B a = new B();
C c = new C(a,b, param1);
return new D(c, param2);
}
这只是一个方便的辅助方法,我可以调用它来获取我需要的特定对象,而不是记住我需要连接哪些依赖项来获取我需要的对象。
我的第一个问题是:应该测试这样的方法吗?我能想到要测试这些类型的方法的唯一原因是确保使用正确的依赖项并正确设置。
如果第一个问题的答案是肯定的,我的第二个问题是:如何?我目前正在使用 NUnit 和 RhinoMocks 并试图弄清楚如何将这种方法重构为可测试的(嗯,是否应该测试这样的东西!);依赖注入显然在这里不起作用,因为这种方法实际上会创建依赖关系!
或者使用这种方法是不好的做法,我应该做如下的事情:
D d = new (new C(new A(), new B(), "string"), 1024);
【问题讨论】: