2

cacncanを使用している場合、アプリのテストケースをどこに書き込むかわかりません。

これは、モデルまたはコントローラーセクションにある必要があります。

私の場合:

ユーザーはオブジェクトを削除することもできないこともできます。このケースを処理するために、私はcancanを使用しました。このコードはコントローラーではなくモデルにあるべきだと思います。また、rspecを使用してこれをテストするにはどうすればよいですか。

より良いアドバイスを教えてください。

ありがとう

4

1 に答える 1

1

次のアプローチをお勧めします。

  1. cancanのAbilityクラスの単体テストを作成して、役割ロジックが適切であることを確認します。
  2. アプリケーションのロジックに従って、誰かがそのコントローラーにアクセスできる/できないシナリオごとにコントローラーテストを作成します。
  3. 承認がエンドツーエンドで機能することを確認するために、実際にページにヒットするいくつかの受け入れ/統合テストを作成します。ここでは、手順1と2のように徹底する必要はありません。ここで「晴れた日」のシナリオをテストできます。このシナリオでは、そのレベルのユーザーとしてアクションを実行します。アプリの重要な部分の周りにいくつかのテストを追加することをお勧めします。ここでは、間違ったレベルのユーザーとしてログインし、許可されていないことを実行しようとします。
于 2012-10-22T00:17:30.210 に答える