initメソッドがJavaで呼び出されることを確認する良い方法は何ですか? 私が見る代替案は
- テストしないでください。メソッドが単独で失敗するようにします。
NullPointerException
- メソッドが初期化またはスローされたかどうかをテストします
public void foo() {
if (!inited) {
throw new IllegalArgumentException("not initalized");
}
...
}
- デラゲート
public void foo() {
if (!inited) {
throw new IllegalArgumentException("not initalized");
}
fooInternal();
}
private void fooInternal(){ ... };
- 常に init し、それ以外の場合は init を noop にします
public void foo() {
init();
...
}
public void init() {
if(!inited) {
...
}
}
- サイレント初期化
public void foo() {
if (!inited) {
init();
}
...
}
これらのアプローチのほとんどは非常に冗長で、全体的な読みやすさが低下します。