私は、テストケースを書くためにレールを使っていません。私はレールactiverecordのSQLクエリをテストしたい。 activerecordクエリをテストするために、私はテスト用のサンプルデータを提供するrailsのフィクスチャを使用しています。以下に示すようにRailsテストケース:グローバルなフィクスチャではなく、特定のテストケースのフィクスチャを作成する方法はありますか?
は当初、2つだけのレコードは私のフィクスチャファイルusers.ymlであった:
user1:
name: 'xxx'
user2:
name: 'xyz'
さて、上記のデータで、私は、データベース内のレコードの数をカウント1のテストケースを書かれているされています2に等しいとそれは正常に動作します。しかし、問題は、他のテストケースのシナリオに必要なusers.ymlファイルにもう1人のユーザを追加すると、その数は3になり、テストケースは失敗します。
それぞれのテストケースが独自のフィクスチャデータを持つように特定のテストケースのフィクスチャを作成する方法はありますか?
答えが「はい」の場合、フィクスチャファイルに余分なユーザーレコードを追加してもデータベースのレコード数をカウントするテストケースが失敗しません。
サードユーザーを作成したくない理由は何らかの理由がありますそのための治具を作成するのではなく、それを必要とするテストの範囲内で行うことができます。 –
@AbassSesayテストの範囲内で第3のユーザーを作成するにはどうすればよいですか?これは私が探しているものです... –
'User'モデルを使用していると想定していますので、' User.create() 'をテストグループのスコープで実行してください。君は。 –