1

私はまだ Rails に慣れていませんが、Michael Hartl の本を読んでみました (とても参考になりました)。

しかし、Deviseを使い始めて(これも非常に役に立ちました)、rspec でのテストについて質問がありました。Hartl の本には、電子メールの一意性や、ユーザーが有効な属性で作成されているかどうかなど、ユーザー検証のためのこれらすべてのテストがあります。

Deviseを使用している場合、このような簡単なテストは必要ですか?

私が尋ねている理由の 1 つは、テストが機能していることはわかっていても、テストの書き方がわからないことです。一般に、内部機能が機能しているかどうかを確認するために gem をテストする必要がありますか? または、それが機能すると仮定して、ユーザーを作成してログインし、それを実行できることのみをテストできますか?

リダイレクトされたかどうかをテストするという点で、CanCan の方法をテストしますが、それは、作成したルールが正しいかどうかをテストするようなものです。Devise の内部機能をテストするのは過剰に思えますか?

4

1 に答える 1

5

デバイスの内部機能をテストするのは過剰だと思います。ただし、ビュー、コントローラー、または検証のいずれかを変更する場合は、変更をテストすることが適切です。

また、アプリのサインイン/アップ部分をテストするリクエスト/受け入れテストも常に行っています。

あなたはまた尋ねました:

一般に、内部機能が機能しているかどうかを確認するために gem をテストする必要がありますか?

いいえ、これは通常行われません。私が探すのが好きなこと: gem の github または Web ページで、TravisCI にリンクしているかどうか --- 現在のテスト スイートが機能するかどうかを確認できます。一般に、1 つ下ではなく、自分のレベルでテストします。たとえば、Rails の動作をテストするのではなく、Rails を使用してください。

于 2012-12-21T03:20:04.070 に答える