ドキュメントの翻訳を行ってきましたが、
その中で具体的にテストコードを書いてみた時に
気になったことを書いてみます。
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()の間を一つのスコープとして考え、
その間だけデータストアに関するオブジェクトが有効になっている
ということです。
0 件のコメント:
コメントを投稿