問題タブ [rspec-rails]

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.

0 投票する
1 に答える
1855 参照

ruby-on-rails-3 - Ruby on Railsチュートリアル(mhartl)「第10章:ユーザーの破棄」autotest rspec DELETE'destroy' failure

私は第10章でMichaelHartlのRailsチュートリアルのスクリーンキャストとオンラインブックを作成していますが、最後のサブチャプターであるDestroyingUserで立ち往生しています。

コンソール出力:

users_controller.rb

Users_controller_spec.rb:

私は初心者ですが、ここに質問を投稿する前に、常に広範な調査を行う習慣があります(90%の確率でSOとGoogleを検索して回答を見つけました)。

私が持っていた最後の2つの未投稿の質問(投稿する前に答えを見つけました)は、Gemfiles(rspecのwill_paginateとundefined _selector)を更新することで修正されました。これもそうですか?

心配して、これを読むのに時間を割いてくれてありがとう。

0 投票する
2 に答える
1049 参照

rspec - Timeout :: Errorが発生した場合、rspecの例を自動的に再実行します

まず第一に、外部API呼び出しをモックすることがほとんどの場合正しいことであることに同意します。ただし、この場合はそうではありません。

一部のテストでランダムなTimeout::Error例外が発生しているので、それらを無視して、例を自動的に再実行できるようにしたいと思います。失敗は、10回失敗した後にのみ報告する必要があります。

その他の例外と障害はすべて報告する必要があります。

私はファイルのグローバルaround(:each)フックを使用してこの動作を実装しようとしました:spec/spec_helper.rb

ただし、例外が発生したときにレスキュー部分が実行されることはありません。なぜですか?

ありがとう!ドリアン

PS私はrspec2.6.0を使用しています

0 投票する
2 に答える
491 参照

ruby-on-rails - この単純な destroy メソッドの期待が機能しないのはなぜですか?

ここでいくつかの調査を行い、Google を使用した後、この単純な仕様が機能しない理由についてまだ混乱しています。

CartsController のアクションは次のとおりです。

そして最後になりましたが、私が得ているエラー:

私は rspec テストは初めてですが、私が理解している限り、私の破棄仕様は非常に単純であり、期待どおりに動作するはずです。私は何が間違っているのか分かりません..

私を助けてください、いつもありがとう、

編集.. current_cart メソッドは次のとおりです。

0 投票する
1 に答える
86 参照

ruby-on-rails - RSpec'ing ルートにポイントはありますか?

私が現在取り組んでいるアプリには、たとえば次のようなルーティング仕様がたくさんあります。

これらのタイプのテストを行うのに、労力とランタイムを費やすだけの価値は本当にあるのでしょうか?

ルートが削除され、他のコントローラーテストがそれをキャッチしないという多くのインスタンスに遭遇したことはありません...

しかし、私は確かに非 rspec の専門家です。

0 投票する
0 に答える
117 参照

rspec-rails - spork を使用した場合の rspec の結果が異なる

私は最近、Spork を開発スタックに追加しました。速度の向上が気に入っていますが、spork の有無にかかわらず異なるパフォーマンスを示すテストがいくつかあります。

問題のテストは非常に単純で、オブジェクトの 1 つのクラスが他の 2 つのオブジェクトを取り、それらの間に結合を作成できることをテストします。

sporkを実行してこのテストを実行すると、このテストは問題なくパスします。ただし、スポークがないと、アサーションは失敗します。object1アサーションを行う前にリロードすることで、スポークの有無にかかわらず通過させることができます。

reloadこれらのテストに を追加する必要がある意図された動作の点からは、object1その ' への呼び出しが行われる前にとにかくリロードされるため、実際には問題ではありませんassociated_objects
テストを実行する 2 つの方法で異なる結果が得られるのは奇妙だと思います。スポークがどのように機能するかについての重要な知識が欠けているように感じます! 同様に、spork は自動的にオブジェクトをリロードしますか?
誰かが私のためにこれに光を当てることができれば、本当に感謝しています.

0 投票する
1 に答える
1642 参照

ruby-on-rails - コントローラー仕様で rspec2 を使用して電子メールが送信および配信されたことをテストするにはどうすればよいですか?

コントローラーの仕様でビューをテストします。メールでも可能ですか?もしそうなら、誰かが私に例を示すことができますか?

現在、統合テストに取り組んでいます。サインアップのテストからいくつかのコードを取得し、それを変換して、パスワードのリセットをテストできるようにしましたが、電子メールの部分でスタックしました。

サインアップとパスワードのリセット用のメールを設定しました。サインアップが成功すると、ユーザーは Web サイトへようこそというメールが送信されます。パスワードをリセットすると、パスワードのリセット手順が記載された電子メールがユーザーに送信されます。

パスワード コントローラの一部:

ユーザーコントローラー:

0 投票する
2 に答える
2923 参照

ruby-on-rails - RSpec converting POST params to string? (testing file uploader)

I am using this block of code to mimic the way files are uploaded:

In the rspec test it is POST'd to the controller:

But it breaks this line in the actual controller:

Because params[:register][:file] is being interpretted as a string instead of an actiondispatch object:

Is this standard behavior for rspec? Is there a way to pass objects via params?

0 投票する
1 に答える
502 参照

ruby-on-rails-3 - ヘルプが必要Rspecテスト

RSpecを学び、CRUDアクションのテストを作成しようとしています。これが私のコントローラーです:

そして私の記事rspec:

私の質問は、PUTUPDATEでrspecを実行するとテストが失敗することです。しかし、POSTテストは合格です。何が起こっているのかわかりません。Rails3.1.1をomniauthで使用しています。私はDeviseを使用していません。これがテスト結果です。なんで?助けてくれませんか?

0 投票する
1 に答える
746 参照

ruby-on-rails - Railsでモデルメソッドのrspecを書く方法は?

こんにちは私はrpecを書きたい私のEnrolledAccountモデルに次のメソッドを持っています。私の質問は、rspecでItemとEnrolledAccountの間に関連付けを作成するにはどうすればよいですか。

0 投票する
2 に答える
1506 参照

ruby-on-rails - ヘルパー スペックでコントローラー ヘルパー メソッドをスタブする

私の中でapplication_controller.rb

私のヘルパーでsomething_helper.rb

の仕様を書いていて、something_helperスタブしたいcurrent_brand

結果はNameError: undefined local variable or method 'current_brand' for #<#<Class:0x000001068fd188>:0x0000010316f6f8>

stub!私はオンselfcontroller同様にやってみました。奇妙なことに、 にスタブするselfと、helper.stub!(:can?).and_return(true)が登録解除されます。