Site
クラスは外部チームによって私に提供され、プライベートコンストラクタを持ちます。プライベートコンストラクタの模擬
public class Site
{
int id;
String brand;
private Site(int id, String brand)
{
this.id = id;
this.brand = brand;
}
}
(チームによって制御される)SiteUtilクラスは、getSite()
関数はそれを上にロジックを適用
public class SiteUtil
{
public static Site getSite()
{
Site site;
//Logic
return site;
}
}
データであり、従って、それは嘲笑される必要がある、ネットワーク呼び出しを必要とします。それは
Site mockSite = new Site(1,"Google");
PowerMockito.when(SiteUtil.getSite(1)).thenReturn(mockSite);
もちろん上記のコードは、私が公共を使用してコンパイルdosentを次のように
私はそれを嘲笑(多分、そうわからないデータソースとの整合性を維持するために)現在セッターを持っていませんコンストラクタ。 私が読んだ解決策は、Site
オブジェクトのプライベートコンストラクタをモックすることでした。私はそれを行う方法についての損失で、しかしだ
Javaリフレクションで秘密鍵にアクセスできます。 – Tokazio
私が見ることができるいくつかのコードやリファレンスを詳しく説明できますか? –
これはひどいAPIデザインです。あなたの組織内の「外部チーム」か、完全に別個のチームですか? – chrylis