RailsアプリケーションでBDDを使い始めたばかりですが、ベストプラクティスとワークフローがわかりません。また、ステップ定義、コントローラー、モデル、ビューなど、プロジェクトのテストに本当に必要なものは他にありますか?それらすべてをテストする必要がありますか?
3 に答える
私は一般的に、Cucumberをアプリケーションの統合テストを行う方法と考えています。Webratと組み合わせると、ユーザーのワークフローやビューなどを優れた方法でテストできます。単体テストの場合は、下位レベルに移動して、rspecだけでモデルをテストする必要があります。また、コントローラーでいくつかの機能テストを実行することもできますが、私はおそらくそのためにCucumberを使用しません。
ここにいくつかのビデオがあります:
これは好みの問題かもしれませんが、Rspecを試してみたので、Shouldaと呼ばれるgemと一緒に組み込みのRailsテストフレームワークを使用することを好みます。私の意見では、この組み合わせにより、Rspecよりもはるかに明確で簡潔で理解しやすいテストを作成できます。しかし、誰もが同意するわけではありません。
Shouldaのコンテキストを使用すると、テストを論理階層に編成できます。これは、ユーザーが正しいpw、間違ったpw、正しいpwでログインしているが登録が確認されていないなど、考えられるすべてのパスをテストしようとしているときに非常に役立ちます。
さらに、必ずZenTestgemをインストールしてください。これにより、コマンドを実行するだけで$ autotest
、ファイルを変更するたびにテストが自動的に実行されます。