我有一些类(称为A类),我想进行单元测试,但它使用一些类(称为B类)和一些静态方法.
要使用静态方法删除对这些类的引用,我必须将它们重构为实例方法并注入到类A中.
问题是A类有很多服务(不仅仅是B类),它似乎依赖于它?
这种情况下最好的选择是什么?有一个构造函数有很多参数可以接受这些服务吗?
或者我的设计是否有问题,A类有如此多的依赖关系?
谢谢
问题是A类有很多服务(不仅仅是B类),它似乎依赖于它?
几个依赖项通常表示代码气味.你的班级很可能违反单一责任原则.
尝试将类分解为更小的类.
单元测试是一个很好的质量指标.难以测试的类通常违反一个或多个SOLID原则.
这种情况下最好的选择是什么?有一个构造函数有很多参数可以接受这些服务吗?
构造函数注入始终是首选方法,因为很容易分辨类具有哪些依赖项.
| 归档时间: |
|
| 查看次数: |
806 次 |
| 最近记录: |