したがって、A、B、C の 3 つのクラスがあります。 class の単体テストを作成する必要がありますA。
class A extends B{
//fields go here ...
public A(String string, ...){
super.(string,...);
}
//other methods here ...
}
class B{
C stuff;
//other stuff
}
重要Cなリソース (JDBC や ssh セッションなど) も同様です。当然、私は嘲笑してCいます。どうすればモックできますかB。ImagineBには、それを拡張する多くの子クラスがあります。
私の主な問題は、それAが呼び出すことsuper.(...)です。Aテストのためだけにメソッドを注入したくありません。私にとって、それは悪いデザインです。親を嘲笑する方法はありますか?
たとえば、との両方が の子になるclass MockB extends B{...}ためMockB obj = new A();、これは機能しません。MockBAB