Ruby on RailsのUnitテスト環境がすばらしいです。どうすばらしいかというと、テストはデフォルトでトランザクション処理されているので投入したデータは自分でロールバックしたり削除したりする必要はないです。
.NETでUnitテストを書いていたときに一番大変だったのはこの辺の投入データの扱いでした。SetUpメソッドで存在チェックと削除処理を行うということを行っていたので結構面倒くさかったです…(Mockとか使おうよという話はありますが。)
ちなみに、このトランザクション処理を自動で行いたくないときは次のように設定を変更すればOKです。
[sourcecode language="ruby"]
coding:utf-8
require 'test_helper'
class UserInfoTest < ActiveSupport::TestCase # トランザクションを自動で開始しない self.use_transactional_fixtures = false ... end [/sourcecode]