2012年9月13日木曜日

Datomicの利用(3)

はじめに

おはようございます。当ブログにアクセス頂き、ありがとうございます。
テストコードを書く時、気持ちの昂りを抑えきれない、たなけんです。
本エントリでは、Datomicを利用したClojureアプリケーションのテストについて記述します。

本体の改修

テストコードを実行した際、想定した通りにデータの改廃がされていなかったため、本体コードを改修しました。
元のソースでは、定数connの宣言部で一度だけt/connect関数を呼び、その接続を他の関数内で利用していました。しかし、この場合、データベースが削除されても接続(peer)のキャッシュにデータが乗っているため、検索が可能な状態でした。
テストコードでは、各テストの前にデータベースを削除し、全てのデータを初期化する必要があったため、find-all関数などに含まれている接続オブジェクトも更新(具体的にはt/connect関数の呼び直し)が必要となりました。
そこで、接続オブジェクトを各関数の引数とし、接続オブジェクトの更新が必要無い本体コードでは、一度だけ宣言したconnを、テストコードでは毎回呼び直したオブジェクトを利用する様変更しました。


単体テスト

事前条件として、peerのGC、データベースの削除、追加、スキーマの作成を行っています。その後データ挿入、検索のテスト。再度条件を初期化し、利用制限確認関数の境界値テストを実施するようにしました。


結合テスト

手動でテストを実施しました。
データベースを初期化、限界件数を1にした状態で、画面を操作し、1度目の検索は正常に実行され、2度目の検索でsorryメッセージが表示されることを確認しました。

今回の作業は以上。最後までお読み頂き、ありがとうございました。
たなけん(作業時間30分)

0 件のコメント:

コメントを投稿