0

我正在尝试为我的问题制定最佳实践。我在一个类中有多个创建新对象的方法:

    public void ToBeTested()
    {
         ClassForExmaple classForExample = new ClassForExample();

         //Other logic.....
    }

    public void ToBeTested2()
    {
          ClassForExmaple2 classForExample2 = new ClassForExample2();

          //Other logic.....
    }

ETC.....

我总共有大约 5 个这样的对象,我打算在这些对象上使用构造函数注入,但这看起来很混乱。由于其中有一些,我应该改用私有属性还是有其他方法?

我这样做是为了模拟这些新的调用。

4

2 回答 2

2

您应该使用构造函数注入。如果因为依赖项太多而导致混乱,那么你应该分解你的代码,这样你正在测试的类就不会做那么多。

对一个类有太多依赖表明您可能没有遵循单一职责原则

也就是说,5 个依赖项(在某些情况下)可能没问题。

于 2012-06-21T10:46:32.717 回答
2

在这种情况下使用构造函数注入似乎很好,因为看起来每种类型的对象都有一个实例。如果不是这种情况,您可以将工厂注入到类的构造函数中,并允许它根据需要创建对象。

我会避免嘲笑私有财产;如果你不得不求助于它,这通常意味着你在你的类中隐藏了可测试的代码,应该更好地暴露给测试框架。公开要在外部设置的公共属性会更好。

于 2012-06-21T10:53:50.870 回答