回帰テストが容易に出来る、ということを挙げました。
その実践・・・というわけでもないですが、
サンプルコードを修正してみましょう。
修正、といいますが、つまり、忘れていた点があったんです。
作成した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 件のコメント:
コメントを投稿