2011年8月13日土曜日

AndroidTestCaseを継承したテストケースでテストプロジェクト内のリソースを利用

今日は朝一から外出して若松通商さんで愛用のT61のCPUFan交換後、第一回Androidテスト・ソースコードリーディングに参加してきました。

ちょっと人数が少なめで寂しかったですがデ部とのダブルブッキングやら時期的な事を考えると致し方ないことだったでしょうか。
少人数でスイーツを頂きながらまったりと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さんいつもありがとうございます。

2011年8月8日月曜日

読まねばならぬもの

だいぶ前に知人の方からMacBookをお借りしてiOS開発にも挑戦しようとぼちぼちと準備中。

第一の目的は添付文書検索ツールのiOSへの移植…メインはiPadをターゲットにしたいと思います。
理由としては今後調剤室で添付文書の閲覧が必要になったときには常に最新のものを見てもらいたいということとなかなか業務中にはパソコンの前に座って最新の添付文書を開くというのが難しいということ。

これをクリアするためにiPadなりAndroidタブレットに最適化した添付文書検索ツールのリリースをと
大分前から考えていたりしますがなかなか形にすることが出来ずにいる訳です。

iPad向け開発もAndroidタブレット向け開発も未経験ではありますがなんとか頑張らないといけません。

とりあえずまったくわかってないiOS開発の勉強をしている訳ですがAppleから膨大なドキュメントが日本語で提供されています。ところがこのページがどこにあるのかDeveloperサイトからなかなか辿ることが出来ないので備忘録的に記事にしておきます。

iOS Developer Library

上記リンク先に日本語化されたドキュメントが沢山あります。
全部じっくりと読めばかなりの知識になりそう。

iOS Developer Library(英語)

上記にはさらに沢山のドキュメントが英語ではありますが用意されています。

とりあえずじっくりと腰を据えてドキュメントを読み込みたいと思っています。

Groovy環境を作ってみる。

さてさて半年以上も放置してしまいまいたがぼちぼち書かないといけませんね。
いろんなことに手をだしていてネタは沢山あるので時間を見つけて書くこととしましょう。

昨日はAndroidテスト部の祭りに参加してきた訳ですが(それも記事にしたらいいのにw)その途中で重いから辞めときゃいいのに本を3冊程買ってしまいました。

そのうちの一冊がこちら



テスト部でご一緒させて頂いているmike_neckさんに触発されておもわず購入です。

ということでWin7とOSX上に環境構築してみました。

公式サイトよりWindows用インストーラをDLして起動
インストールパスをC:\JavaLib\Groovy\Groovy-1.8.1に変更したのみ
環境変数まで設定してくれるので楽チン。

一旦ログアウトしてGroovyConsoleを起動してHello, Groovy!を実行。


Groovyのインストール@OSX
http://groovy.codehaus.org/DownloadよりバイナリzipをDLして
Matsumoto.JSさんのMac OS XでのGroovy等をインストールする場所の記事を参考にさせて頂き/Library/Frameworks/Groovy.frameworks/Versions/1.8.1に展開して/Library/Frameworks/Groovy.frameworks/Versions/Currentにシンボリックリンクを作成

.bash_profileを以下にように変更
export JAVA_HOME=/Library/Java/Home
export ANT_HOME=/usr/share/java/ant-1.8.2
export GROOVY_HOME=/Library/Frameworks/Groovy.framework/Versions/Current
export PATH=$PATH:/Developer/android-sdk-mac_x86/platform-tools
export PATH=$PATH:$GROOVY_HOME/bin
そして確認。
MacBook:~ kaepapa$ source .bash_profile
MacBook:~ kaepapa$ groovy -version
Groovy Version: 1.8.1 JVM: 1.6.0_26

同じくgroovyConsoleを起動してHello, Groovy!を実行


ということで環境構築は完了しました。
徐々にいろいろといじってみたいと思っております。