データベースを利用したシステムのユニットテストについての質問です。人力検索はてな人力検索はてなモバイル版を表示しています。PC版はこちらデータベースを利用したシステムのユニットテストについての質問です。SimpleTestですが、汎用的な回答であれば特に言語にこだわる必要はありません。日時カラム(datetime型)を持つテーブルがあります。【テストしたいメソッド】”メソッドの実行時”に、上記のカラムに”現在日時に一定の秒数を足した日時”を入れてその他のカラムとともに更新します。(足される秒数はレコードごとに異なり、これは他のメソッドからメンバ変数にセットしています。)更新に成功すればtrue、失敗すればfalseを返します。現在は、メソッドの呼び出し後=レコード更新後にそのレコードを取得し、あらかじめ用意した期待する結果と比較してテストしています。上記の日時カラムについては、カラムに入る値がメソッドを呼び出すまで特定できないため、比較によるテストができません。このようなメソッドをテストする場合、どうするのがよいでしょうか?みなさん、どうしてますか?目視で確認?日付カラムは無視する?メソッドをオーバーライド?そもそも、戻り値のテストだけすればよい?よろしくお願いします。回答ありがとうございます。「他のメソッド」でセットする値を固定しておけば、テストが簡単になりそうですね。結合テストの場合は自動テストが難しそうですが、この場合も「テストしたいメソッド」「他のメソッド」を別に用意して、「固定の日時+固定の秒数」で更新するようにするとかでよさそうですね。▽2●hanako393●35ポイント>そもそも、戻り値のテストだけすればよい?これです。DB格納に関しては、別のテストを実施されてるか、実施してたらOKです。>上記の日時カラムについては、カラムに入る値がメソッドを呼び出すまで特定できないため、比較によるテストができません。このテスト方法でテストする項目ではそもそもありません。◎質問者からの返答たしかに、一度にまとめてテストしすぎかもですね。テストの仕方を見直してみようと思います。関連質問MAMPのMySQLとRubyOnRailsで組み合わせてシステムを構築したいと...PHP+MySQLのテスト環境として、XAMPPを利用しています。□はてなトップ(C)株式会社はてな。