問題タブ [rspec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ruby-on-rails - Ruby on Rails アプリケーションで rSpec を使用してオブザーバーをどのようにテストしますか?
Ruby on Rails アプリケーションの 1 つに ActiveRecord::Observer があるとします。このオブザーバーを rSpec でどのようにテストしますか?
ruby-on-rails - Rails、Restful Authentication & RSpec - 認証が必要な新しいモデルをテストする方法
Restful Authentication と RSpec を含む基本アプリであるBortを使用して、学習アプリケーションを作成しました。私はそれを起動して実行し、ユーザーが何かを行う前にログインする必要がある新しいオブジェクトを追加しました(before_filter :login_required
コントローラーで)。[編集: またhas_many
、新しいクラスのユーザーとユーザーだけがそれを見ることができるはずであることにも言及する必要があります。]
多数のデフォルト テストを作成した Rspec のジェネレーターを使用して、新しいモデル/コントローラーを作成しました。それらが存在しない場合はすべて合格しますがbefore_filter
、予想されるように、 が配置されると、いくつかは失敗しbefore_filter
ます。
ログインしているユーザーがいる/いないかのように、生成されたテストを実行するにはどうすればよいですか? ログインしていない一致のバッチ全体が必要ですか - リダイレクト テストはありますか? 私はそれがある種のモッキングまたはフィクスチャ手法であると想定していますが、私はRSpecに不慣れで少し漂流しています。優れた RSpec チュートリアル リンクも歓迎します。
ruby-on-rails - RailsでRSpecが遅いのはなぜですか?
Rails アプリケーションの rspec テストを実行するたびに、実際にテストの実行を開始するまでに 1 日のオーバーヘッドがかかります。なぜrspecはとても遅いのですか? Rails の初期ロードを高速化する方法や、必要な Rails アプリの一部 (たとえば、ActiveRecord のもののみ) を選択して、いくつかのテストを実行するためにすべてを完全にロードしないようにする方法はありますか?
ruby-on-rails - RSpec でプラグインを指定する最良の方法は何ですか?
私はプラグインを作成しており、BDD を使用してビルドできるように RSpec を使用しようとしています。
これを行うための推奨される方法はありますか?
ruby-on-rails - RSpecとRailsを使用して特定のレイアウトのレンダリングをテストする
RailsでRSpecを使用して、特定のレイアウトの使用をテストすることは可能ですか。たとえば、次のことを行うマッチャーが必要です。
グーグルでuse_layoutマッチャーを見つけましたが、応答もコントローラーもマッチャーが探していたレイアウトプロパティを持っていないようであるため、機能しません。
ruby-on-rails - 統合応答の仕様/での最適な場所は?
さまざまな応答をテストしたい統合ポイントがいくつかあります。これらのアーティファクトは、Rails アプリケーションの spec/ ディレクトリのどこに保存すればよいと思いますか?
ruby - RSpecで単一のテスト/仕様ファイルをどのように実行しますか?
たとえば、編集している1つのファイルに対して、単一のスペックファイルのテストを実行できるようにしたい。 rake spec
すべての仕様を実行します。私のプロジェクトはRailsプロジェクトではないので、rake spec:doc
機能しません。
これが重要かどうかはわかりませんが、これが私のディレクトリ構造です。
ruby-on-rails - RSpecのストーリーと仕様:いつ何を使用するのですか?
そのため、RSpecストーリーの使用を開始したいのですが、書き込みコントローラー、モデル、およびビューの仕様がどこに適合するのかわかりません。
たとえば、「ユーザーが間違ったパスワードを提供する」というシナリオで「ログイン」するという話がありますが、コントローラー/モデルの仕様(response.should render ...、user.should be_nilなど)と同じものをテストすることになりませんか? 。)
だから私の質問は:RoRでbdd(またはstory dd)を行うことに慣れている人のために、あなたはまだモデル/コントローラーの仕様を書いていますか?もしそうなら、あなたが従うワークフローはどうですか(「最初の話、次に特定の仕様に絞り込む」)?
ruby-on-rails - Rspec - プラグインから gem への切り替えに関する問題
rspec および rspec-rails プラグインの使用を中止し、代わりに gem バージョンに切り替える場合、spec_helper.rb で何か変更しなければならないことや、アプリの仕様に変更が反映されるようにするために必要なことはありますか?
プラグインを削除して gem (1.1.8) をインストールした後、スペックを正常に実行できなくなりました。
より具体的には、これは私がしたことです:
- 以前にインストールした rspec および rspec-rails プラグインをベンダー ディレクトリから削除します
- sudo は、rspec と rspec-rails の両方の gem をインストールしました (この記事の執筆時点では 1.1.8 が最新でした)。
script/autospec を実行すると、次のメッセージが表示されます。
/Library/Ruby/Site/1.8/rubygems.rb:578:in
report_activate_error': RubyGem version error: hoe(1.5.0 not >= 1.7.0) (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems.rb:134:in
activate' from /Library/Ruby/Site/1.8/rubygems.rb:158:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:157:in
each' from /Library/Ruby/Site/1.8/rubygems.rb :157: inactivate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
require' from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:509: inrequire' from /Library/Ruby/Gems/1.8/gems/activesupport-2.1.0/lib/active_support/dependencies.rb:354:in
new_constants_in' from /Library/Ruby/Gems/1.8/gems/activesupport -2.1.0/lib/active_support/dependencies.rb:509: inrequire' from /Volumes/tangoflash/code/tangoflash/spec/spec_helper.rb:5 from spec/helpers/sessions_helper_spec.rb:1:in
require' from spec/helpers/sessions_helper_spec.rb:1
textmate を介して単一の rspec の例を実行しようとすると、次のようになります。
/Library/Ruby/Site/1.8/rubygems.rb:578:in
report_activate_error': RubyGem version error: hoe(1.5.0 not >= 1.7.0) (Gem::LoadError) from /Library/Ruby/Site/1.8/rubygems.rb:134:in
activate' from /Library/Ruby/Site/1.8/rubygems.rb:158:inactivate' from /Library/Ruby/Site/1.8/rubygems.rb:157:in
each' from /Library/Ruby/Site/1.8/rubygems.rb :157: inactivate' from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:31:in
require' from /Users/allanlibunao/Library/Application Support/TextMate/Bundles/RSpec.tmbundle/Support/lib/spec/mate.rb:14 from /tmp/temp_textmate.KQTYKh:3: in `require' /tmp/temp_textmate.KQTYKh:3 から
どんな助けでも素晴らしいでしょう。
ruby-on-rails - 「link_to」と「current_page」を使用して RSpec a Rails プラグインをテストするにはどうすればよいですか?
ビューにメニューを作成する Rails プラグインを作成しています。link_to
リンクを作成し、現在のページcurrent_page?
に設定するために使用しています。class="active"
include
使用できるActionView::Helpers::UrlHelper
ようにしましlink_to
た。
ビューで作業するcurrent_page?
には、現在のクラス (明らかにActionView::Base
) を継承する必要があり、完全にうまく機能します。残念ながら、これは RSpec でのテストを完全に破ります。
私は電話link_to
していてcurrent_page?
、このようにしています:
RSpec: Undefined method `link_to' for #< Spec::Rails::Example::RailsExampleGroup::Subclass_1:0x24afa90> でこのエラーが発生します。
どんな手掛かり?