テストしやすい実装【2】

テストをしやすくするために、アプリケーションの作りを工夫することは必要だったりします。

どのシステムでも使われるのは、日付系。

DBから日付を取得する場合でも、APサーバのシステム日付を取得する場合
面倒でもHelperクラスを作って、モードによって本当の日付か、固定日付かを
取得できるようにすべき。

回帰テストJUnitなりのテストをする際に、常に同じデータでないと具合が悪いこともあるわけで。


テストする度にシステム日付を変更するのもなんか・・・頂けない。

アプリケーションをデフォルトで開いた時に、システム日付から換算したカレンダーを出力するような機能テストの為には
こういう作りをした方がよさそう。



ただ、タイムスタンプで排他チェックする際の試験をする時が厄介ではあるんですけどね・・・。


単体テスト/回帰テスト
 固定日付を返すモードで
通常テスト用
 本当の挙動をするモードで

かなぁ・・・。


new Date()
System.currentTime()

の振る舞いをする奴を作れば良いのかな・・・。


でも啓蒙が・・・大変。