2011年7月8日金曜日

Google App Engine for Java のデータストアAPIを利用するクラスをテスト駆動開発してみる(その4)

前回は、getEntity()メソッドの呼び出しを記述したところ、
メソッドが宣言されていないというコンパイルエラーが出た、
という所まででした。

そこで、getEntity()メソッドを宣言すれば・・・という前に、
このテストクラスを作成する目的に立ち戻ってみます。

そもそも、条件に合致するエンティティを検索する機能を持つ
クラスを作成することが目的です。
getEntity()メソッドは、その目的どおりの機能を持つ(予定の)メソッドですが、
このままメソッドを宣言するのでは、
LocalUnitTestSampleクラスのメソッドとなってしまいます。

それでは、ここで目的の機能を持つクラスを定義しましょう。

LocalUnitTestSampleクラスとは別に.javaファイルを作成するのも
もちろん正しいのですが、
ここでは内部クラスを作成します。
クラスの実装ができてから、別のjavaファイルを作成して
内部クラスから独立させてもかまいません。

作成してみましょう。
まずはgetEntity()メソッド呼び出しの部分です。
List<entity> entitiesList = getEntity(propertyValues[i]);

から、
EntitySearch search = new EntitySearch(ds,propertyName);
List<entity> entitiesList = search.getEntity(propertyValues[i]);

と変更します。
変更後の2行でコンパイルエラーとなります。

まずは1行目です。
EntitySearchという型が解決できない
というメッセージなので、
クラスを宣言します。

public class EntitySearch {
}
そして、コンストラクタが未定義なので、
public EntitySearch(DatastoreService ds, String propertyName) {

  }

を定義します。




インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/

0 件のコメント:

コメントを投稿