Androidアプリのコード中にアサーションを使いたい
JavaでもC++でも、コードの中に成り立つべき条件があり、それを検証する場合はアサーションを活用することができます。
例えばJavaならこのように書けます。
public testCompare(){ // 中略 int a = 0; int b = 1; assert isEqualNum(a, b); } private boolean isEqualNum(int a, int b) { return a == b ? true : false; }
このassert機能は、Eclipseの設定でassertを有効化すれば使用可能になるのですが、Androidのプロジェクトを実行ターゲットにした場合、なぜかそれができませんでした。Javaアプリケーションがターゲットであれば引数タブに「-ea」をつければ良いのですが、Androidの場合は引数タブそのものが無いんです。
しかたないので、擬似的にassert機能を書きました。
public testCompareForAndroid(){ // 中略 int a = 0; int b = 1; if (!isEqualNum(a, b)) throw new AssertionError("Assertionエラー!"); } // isEqualNum()は最初の例と同じ
C言語の関数ポインタのような実装をすればもっとスッキリ書けそうなんですが、当面はこれでしのぎます。