最初に、私はJava開発者ではなく、私は現在C#で開発していますので、私がJavaに関して行った前提や記述は間違っているかもしれません。Javaに最適なのはどちらですか?インターフェースを嘲笑したり、クラスを嘲笑したりしますか?
mockedオブジェクトで.Netのユニットテストを書くとき、私たちがインターフェースを模擬する時間の99%。クラスをモックすることは可能ですが、仮想(つまりモック可能な)メソッドを制御できるだけです。
Javaの場合、メソッドはデフォルトでは仮想的なので、クラスを模倣することはインターフェイスを模擬することとまったく同じになると思います。すべてが模擬動作でオーバーライドされるためです。
したがって、Javaのインタフェース(したがってユニットテストではインタフェースを模擬する)に依存すること、またはほとんどのJava開発者がクラスを使用してタイプの数を減らす(インタフェースを必要としない)ことはベストプラクティスですか?
これはおそらくprogrammers.stackexchange.comに適していますが、そこにも建設的ではないかもしれません。 –