単純にnullを返すだけになっているために、
テストを実行するとdoTest()メソッド内で
NullPointerExceptionがスローされる、
という所まで、前回は進みました。
getEntity()メソッドの中身を実装するのは簡単、
と前回の終わりに述べました。
同時に、既に大体出来ている、とも述べました。
テスト駆動開発を始めるときに、
doTest()メソッド内でコメントアウトした部分がありました。
開発するクラスの動作部分、テストする対象を
コメントアウトしたのですが、
まさにこの部分がgetEntity()メソッドの行いたい事を
表しています。
コメントアウトした部分の代わりに
EntitySearchオブジェクトを使った部分を記述しました。
それでは、コメントアウトした部分を
getEntity()メソッドにコピーします。
public List<entity> getEntity(Object propertyValue) { Query query = new Query(DATA_KIND); query.addFilter(propertyName, FilterOperator.EQUAL, propertyValues[i]); PreparedQuery prepare = ds.prepare(query); List<entity> entitiesList = prepare.asList(FetchOptions.Builder.withDefaults()); return null; }
またもや、コンパイルエラーが出ます。
ループカウンタを表していた
iという変数が解決できないという内容です。
query.addFilter()メソッドの第3引数に与えるのは、
比較対象となるプロパティ値なので、
これはgetEntity()メソッドの引数propertyValueに変更します。
これで「i」という変数はメソッド内からなくなり、
コンパイルエラーは解消されます。
インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/
0 件のコメント:
コメントを投稿