回帰テストが容易に出来る、ということを挙げました。
その実践・・・というわけでもないですが、
サンプルコードを修正してみましょう。
修正、といいますが、つまり、忘れていた点があったんです。
作成したEntitySearchクラスのコンストラクタが
実装されていませんでした。
引数が何も使われないままになっていたんですね。
引数が使われないまま放置されていたのに、
テストを実行してみると成功します。
この理由は、
EntitySearchクラスがLocalUnitTestSampleクラスの
内部クラスであることが原因です。
もし、EntitySearchクラスを内部クラスではなく、
別の独立したクラスとすると
コンパイルエラーとなります。
メソッドgetEntity()の内部で、
変数ds,kindName,propertyNameを解決できないはずです。
そこで、コンストラクタで渡された引数を
フィールドとして保持することにします。
private DatastoreService ds;
private String kindName;
private String propertyName;
public EntitySearch(DatastoreService ds, String kindName, String propertyName) {
this.ds = ds;
this.kindName = kindName;
this.propertyName = propertyName;
}
フィールドds,kindName,propertyNameを宣言して、コンストラクタで引数の値を代入します。
これで、メソッドgetEntity()でのコンパイルエラーが解消されます。
インストール不要・無料のKaede翻訳ツール:
http://kaedetrans.appspot.com/
0 件のコメント:
コメントを投稿