私は静的メソッドクラスUtilsを持っています。これは基本的にユーティリティメソッド用で、ほとんどすべてのクラスで使用されます。ファイルやその他の基本的なものを取得するようなことをします。私のテスターは、このクラスをシングルトンに変更して、Utilsを使用するすべてのクラスがgetInstance()を呼び出す必要があるようにしました。その理由は、そうでない限り、彼は特定のことをテストできなかったからです。これはいくつかの点で間違っており、問題につながる可能性があるように思われます。
public class Utils {
/**
* Singleton method to allow for easier testing.
* @return an instance of
*/
public synchronized static Utils getInstance() {
if (instance == null) {
instance = new Utils();
}
return instance;
}
public synchronized static void setInstance(Utils instance) {
Utils.instance = instance;
}
/** Singleton to make testing easier **/
private static Utils instance = null;
public static boolean checkOSTen() {
return getInstance()._checkOSTen();
}
private boolean _checkOSTen() {
boolean autoPair = false;
if (android.os.Build.VERSION.SDK_INT >= 10){
autoPair = true;
}
return autoPair;
}
}
ちなみに、私は少なくとも7つのスレッドを使用してメッセージを送信する非常に複雑な内部メッセージングシステムを使用しており、静的メソッド呼び出しとシングルトン静的メソッド呼び出しの影響があるかどうかを確認したいと考えていました。
これ以外のテストを行う別の方法はありますか?いくつかのJavaリフレクションはあなたが必要とするものを手に入れるようです。