ちょっと人数が少なめで寂しかったですがデ部とのダブルブッキングやら時期的な事を考えると致し方ないことだったでしょうか。
少人数でスイーツを頂きながらまったりとActivityInstrumentaionTestCase2あたりを眺めてきました。
その中で先日からハマっていたAndroidテストパッケージの中のassets以下のファイルにアクセス出来ない問題についてmike_neckさんに例を提示して頂いたのでAssetManagerの呼び出しに@hideされているgetTestContextメソッドを利用してアクセス出来るようになりました。
public class AndroidExtendedTestCase extends AndroidTestCase {
public Context getExTestContext() {
Context context = null;
@SuppressWarnings("unchecked")
Class clz = (Class) this.getClass();
try {
Method method = clz.getMethod("getTestContext");
context = (Context) method.invoke(this);
} catch (SecurityException e) {
fail();
} catch (NoSuchMethodException e) {
fail();
} catch (IllegalArgumentException e) {
fail();
} catch (IllegalAccessException e) {
fail();
} catch (InvocationTargetException e) {
fail();
}
return context;
}
}
まんまソースを頂いてループしてしまっているようだったのでメソッド名をちょっと変更しましたがこのAndroidExtendedTestCaseを継承したテストケースクラスで
AssetManager assetMgr = getExTestContext().getAssets(); // filenameはassetsファイル以下相対パスを指定 InputStream is = new InputStream(assetMgr.open(filename));
という感じでばっちりと読み込むことが出来ました。@mike_neckさんいつもありがとうございます。
0 件のコメント:
コメントを投稿