【发布时间】:2011-07-21 15:56:53
【问题描述】:
我注意到,当我进行 TDD 时,它通常会导致大量的接口。对于具有依赖关系的类,它们通过构造函数以通常的方式注入:
public class SomeClass
{
public SomeClass(IDependencyA first, IDependency second)
{
// ...
}
}
结果是几乎每个类都会实现一个接口。
是的,代码将被解耦,并且可以很容易地单独测试,但也会有额外的间接级别,这让我感到有点……不安。感觉有些不对劲。
谁能分享其他不涉及大量使用接口的方法?
你们其他人还好吗?
【问题讨论】:
-
不确定这个问题是否可以按现状回答......我看到接口是实际实现/类需要满足的角色。例如为了让“我”“快速到达办公室”,我需要一个“交通工具”和“最佳路径查找器”。接口也是分隔 2 层的边界。因此,这些界面可以帮助您确定需要哪些角色,并为他们分配明确的离散职责。如果您想单独测试每个类(没有它的依赖项),则看不到避免它的方法;不过,您可能需要重新审视自己的角色和职责
标签: c# unit-testing interface tdd