モックとスタブを多用してください。メソッドをスタブArticle.stub(:find).with(article.id).and_return(article)モデルをモックする場合、as_null_objectメソッドを使用してください。これは、期待するメッセージにのみをリスニングし、他のメッセージを無視するように出力に命じます。mock_model(Article).as_null_objectexampleのためにデータを作る際は、before(:each)ブロックの代わりにletブロックを使用してください。}できればsubjectを使用してください。endendできればspecifyを使用してください。これはitの同意語ですが、docstringがない場合、より読みやすいです。}endできればitsを使用してください。}endビュービューのspecspec/viewsのディレクトリ構造は、app/viewsの中のものと一致します。app/views/usersの中のspecはspec/views/usersに置かれます。ビューのspecの命名規則はビューの名前に_spec.rbを視界名に加えたものです。_form.html.hamlには対応するspec_form.html.haml_spec.rbがあります。spec_helper.rbは各ビューspecファイルの中で要求されるために必要です。外側のdescribeブロックには、app/viewsなしのビューへのパスを使用します。引数なしで呼ばれた場合、renderメソッドによって使用されます。...endビューspec中では常にモデルをモックしてください。ビューの目的は情報を単に表示することだけです。assignメソッドは、コントローラーによって供給されビューが使用する変数を供給します。endendshould_not肯定よりもCapybaraの否定セレクタを使ってください。have_no_xpath('tr')ビューがヘルパーメソッドを使用する場合、これらのメソッドをスタブする必要があります。ヘルパーメソッドのスタブはtemplateオブジェクト上で行われます。endendヘルパーのspecはビューspecから分けられ、spec/helpersディレクトリに置かれます。コントローラモデルをモックしてメソッドをスタブしてください。コントローラーのテストはモデル生成に左右されるべきではありません。コントローラーが責任を負うべき振る舞いだけをテストしてください:特別なメソッドを実行してください。endアクションが受信パラメータに応じて異なる振る舞いをする場合、contextを使用してください。endendモデルspecではモデルをモックしないでください。本物のオブジェクトを作るためにfabricationを使用してください。他のモデルや子オブジェクトをモックすることは容認できます。重複を避けるために、specにすべてのexampleのためのモデルを作成してください。}end作ったモデルが有効であることを保証するexampleを加えてください。endendバリデーションをテストする場合、検証する必要がある属性を指定するにはhave(x).errors_onを使用してください。be_validの使用は、問題が意図した属性にあることを保証するものではありません。endendバリデーションされる各属性ごとに個別のdescribeを追加してください。endendモデル属性の一意性をテストするときは、他方のオブジェクトにanother_objectという名前を付けてください。specの中のモデルはモックされるべきです。Mailerはモデル生成に依存するべきではありません。specは以下のことを確認する必要があります:見出しが正しい。受取人のE-mailアドレスが正しい。メールが正しいE-mailアドレスに送信された。メールには必要な情報が含まれている。endendアップローダーアップローダーに関してテストすることができるものは、画像が正しくリサイズされるかどうかです。画像アップローダーのサンプルを示します。endend参考文献Railsのスタイルには優れたリソースがあります。時間があるなら検討してみてください。Book貢献このガイドの中で書かれた何も石の中でセットされていません。これはRailsコーディングスタイルに興味を持っている皆と一緒に働きたいという私の願望です。私たちはRubyコミュニティ全体に有益となるリソースを作成することができました。Requestを自由に送ってください。Wordコミュニティー駆動のスタイルガイドは、その存在を知らないコミュニティーにほとんど役に立ちません。ガイドに関してツイートして、友達や同僚と共有してください。私たちが得るすべてのコメントや提案、意見はガイドをわずかにより良くします。私たちはできるだけ最良のガイドを持ちたいですよね。12:00rails-style-guide(Rails3スタイルガイド:適当日本語訳)メディアサイト構築CMS「Clipkit」は累計およそ600のWebサイトで採用。月間1,000万PVを超える人気サイトも複数あります。ラグル株式会社は、このプロダクトを一緒に育ててくれるエンジニア(Rubyプログラマ/フロントエンドエンジニア/SRE)を募集しています。当社は総合PR会社の株式会社ベクトル(東証1部:6058)のグループ会社です。はてなブログProロードバイク通勤のRubyプログラマで、伊豆ダイバー。Founderビットアーツは1998年よりWebアプリケーションを専門としてシステム開発サービスを提供しています。OEM向け製品開発にも取り組んでいます。現在はラグル株式会社を立ち上げて、Webメディアサイト構築CMS「Clipkit」を作っています。さいたまクリテリウム2019-10-10「ザ社内報」のつり革広告が登場しました!もっと見る月別アーカイブはてなブログをはじめよう!miyamaeさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。