首先,让我透露一下,我不是 Java 开发人员,我目前使用 C# 进行开发,因此我对 Java 所做的任何假设或陈述都可能是不正确的或消息不灵通的。
在 .Net 中使用模拟对象编写单元测试时,99% 的时间我们模拟接口。可以模拟类,但您只能控制虚拟(因此可模拟)方法。
在 Java 中,由于默认情况下方法是虚拟的,所以我想模拟一个类与模拟一个接口是一样的,因为一切都将被模拟行为所覆盖。
那么,在 Java 中依赖接口(因此在单元测试中模拟接口)仍然是最佳实践,还是大多数 Java 开发人员使用类来减少类型的数量(不需要接口)?