最近、Ruby on Railsアプリケーションをテストするために、フィクスチャからfactory_girlに切り替えました。rake test:unitsを実行して、/ unitsディレクトリでテストを実行すると、すべてが完全に実行されます。rake test:functionalsを使用して(/functionalディレクトリで)機能テストを実行した場合も同じです。
ただし、単にrake testを実行して、ユニットテストと機能テストの両方を一緒に実行すると、2番目のテストグループ(この場合は機能)で検証が失敗し、「検証に失敗しました:名前はすでに取得されています」というメッセージが表示されます。
これは、単体テストで作成されたオブジェクトと同じパラメーターでオブジェクトを作成する機能テストが原因であると思います。単体テストと機能テストの間にテストデータベースがクリアされていないと思います。
私はfactory_girlのシーケンスを使用して、オブジェクトに固有の属性を設定します。つまり、factory_girlはテスト間でリセットされますが、データベースはリセットされません。この問題を解決するにはどうすればよいですか?2つのテストパッケージ間でデータベースをクリアする方法はありますか?