2011年5月15日日曜日

Google App Engine for Javaの単体テスト(データストアAPI)

Google App Engine for Javaの単体テストについての
ドキュメントの翻訳を行ってきましたが、
その中で具体的にテストコードを書いてみた時に
気になったことを書いてみます。

Google App Engineのユニットテストのドキュメント(その4)
のサンプルコードは、JUnit4を利用したテストコードです。

JUnit4では、@Testアノテーションの付いたテストメソッドを
実行する前と後に、それぞれ
@Beforeと@Afterアノテーションの付いたメソッドを実行して、
テストの前処理と後処理を行います。

データストア(またはMemcache)を利用するクラスのテストを行う場合には、
前処理でテスト用サンプルデータをセットして、
後処理で削除する
という方法をとる場合がありますが、
メソッドの呼び出しの順番によっては、例外がスローされる可能性があります。

サンプルコードでは、
@Before
public void setUp(){
  helper.setUp();
}
とだけ記述されています。
データストアにデータを保存する場合、
 helper.setUp();
の後にデータストアの操作を行う必要があります。

同様に、
@After
public void tearDown(){
  helper.tearDown();
}
のような後処理のコードでは、
helper.tearDown();
の前にデータストアの操作が必要です。

helper.setUp()とhelper.tearDown()の間を一つのスコープとして考え、
その間だけデータストアに関するオブジェクトが有効になっている
ということです。




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

0 件のコメント:

コメントを投稿