タグ

ブックマーク / unageanu.hatenablog.com (4)

  • データストアの単体テストを書く手順 for 1.3.3 - うなの日記

    GAEのSDKを1.3.3にバージョンアップしたら、データストアの単体テストがコンパイルエラーに! ドキュメントを見ると、どうやらテストケースの書き方が変わったらしい。(1.3.1 - 1.3.2はスルーしていたので、実はずっと前からかもですが) ということで、SDK1.3.0の頃に書いたテストケース作成手順を1.3.3での手順に更新しておきます。ユーティリティクラスが用意されて、以前より少ないコードで済むようになってますよ。 単体テストとは? 単体テストでは、 ローカルでGoogle App Engineのサーバーを起動することなしに、 データストアにアクセスするモジュールのテストを記述できます。 公式なドキュメントはこちら。日語のドキュメントはまだ更新されていない(2010-05-01 現在)ようなのでご注意。 概要 必要なモジュールをプロジェクトに追加 テストケース内でLocalS

    データストアの単体テストを書く手順 for 1.3.3 - うなの日記
  • 1対多の所有関係にあるデータを記録するサンプル - うなの日記

    Google App EngineのDatastoreで1対多の所有関係にあるデータを相互参照できる形で記録するサンプルです。 1対多 1つの親が、複数の子を持つような関係です。 親(Parent.class) ├子1(Child.class) ├子2(Child.class) └子3(Child.class) 所有関係 オブジェクトの所有される側(子)は所有者(親)を必ず必要とする強い関係?です。 もうひとつ、非所有関係というのもあり、 これであれば「どちらのオブジェクトもお互いの関係から独立して存在することができる」とのこと。 多対多の関係を構築する場合は、非所有関係を使うらしい。 なお、非所有関係のデータは1トランザクションでは保存できない、という制約があります。 相互参照 親/子の双方で検索できるようにします。具体的には以下の両方ができる、ということです。 親Aが保持する子の一覧を

    1対多の所有関係にあるデータを記録するサンプル - うなの日記
  • Java変態?コード最速マスター - うなの日記

    Java変態文法最速マスター - プログラマーの脳みそが面白かった && 参考になったので便乗してリスペクト。変態世間であまり見かけない(かも知れない)Javaコードを、過去のエントリからまとめてみました。 nullでなければループ 「配列がnullでなければループ」というシーンはまれにありますが、nullチェックのためにインデントが深くなるのが我慢ならん、というときにこういう記述はどうでしょう。 String[] strs = // 略 // 配列がnullでなければ各要素に対して処理を実行 if ( strs != null ) for ( String str : strs ) { // 処理 } if文の「{}」を省略してforを繋げているだけですが、インデントをさりげなく削れます。 似たような例で、「例外を無視して次へ」とかも。 // 例外が発生しても無視して次へ for ( S

    Java変態?コード最速マスター - うなの日記
    bojovs
    bojovs 2010/02/04
  • データストアの単体テストを書く手順 - うなの日記

    追記:2010-05-01 以下は1.3.0の頃のテスト手順です。最新のSDKではテストケースの書き方が変わっています。1.3.3でのテスト手順はこちらを参照。 いまさらですが、データストアの単体テストを書く手順のメモです。単体テストでは、 ローカルでGoogle App Engineのサーバーを起動することなしに、 データストアにアクセスするモジュールのテストを記述できます。 なお、公式なドキュメントはこちらにあるので、あわせて参照ください。 概要 必要なモジュールをプロジェクトに追加 Environmentクラスを作成 テストケースのsetUpでApiProxyの設定を行う 1.必要なモジュールをプロジェクトに追加 単体テストの作成に必要な以下のモジュールをプロジェクトに追加します。 appengine-api-stubs.jar appengine-local-runtime.jar

    データストアの単体テストを書く手順 - うなの日記
  • 1