問題タブ [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 投票する
7 に答える
61631 参照

ruby-on-rails - Rails 3.1、RSpec: モデル検証のテスト

私は Rails で TDD の旅を始めましたが、解決策が見つからないように見えるモデル検証のテストに関する小さな問題に遭遇しました。User モデルがあるとしましょう。

そして簡単なテスト

これはプレゼンスの検証を正しくテストしますが、より具体的にしたい場合はどうすればよいでしょうか? たとえば、エラー オブジェクトで full_messages をテストします。

最初の試行 (should_not be_valid を使用) に関する私の懸念は、RSpec が説明的なエラー メッセージを生成しないことです。それは単に「期待される有効な? false を返し、true になった」と言っているだけです。ただし、2 番目のテスト例には小さな欠点があります。エラー オブジェクトを取得するために、new メソッドの代わりに create メソッドを使用しています。

テスト対象をより具体的にしたいのですが、同時にデータベースに触れる必要はありません。

誰でも何か入力がありますか?

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

ruby-on-rails - validates_confirmation_of :パスワードがトリガーされない

私は非常に基本的な管理モデルを持っています:

マニュアルによると has_secure_passwordvalidates_confirmation_of :password. 私が正しければ、 ifとdo notvalidates_confirmation_ofは常にエラーになるはずです- たとえisであっても。:password:password_confirmation:password_confirmationnil

私はRSpecでテストしていますが、このテストは失敗し、有効であることがわかりadmin ます:

これは合格します:

それで、私は一体何を間違っているのですか?

0 投票する
6 に答える
7519 参照

ruby-on-rails-3 - factory_girl を使用してアクティブ レコードの before_create コールバックをモックおよびスタブする方法

私は ActiveRecord モデル、PricePackage を持っています。これには before_create コールバックがあります。このコールバックは、サードパーティ API を使用してリモート接続を確立します。私は factory girl を使用しており、テスト中に新しいファクトリが構築されたときにリモート呼び出しが行われないように、この API をスタブ化したいと考えています。

モックとスタブに Rspec を使用しています。私が抱えている問題は、私のfactory.rb内でRspecメソッドが利用できないことです.

モデル:

工場:

rspec モックとスタブ ヘルパーを factory.rb にロードする方法がわかりません。これは、これを処理する最善の方法ではない可能性があります。

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

ruby-on-rails - きゅうりに必要なビュースペックです

キュウリがビューとフローを担当していると思いますが、ビュースペックを使用する必要がありますか?

少し説明をいただければ幸いです。ありがとう

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

ruby-on-rails-3 - Rails 3.1ではパスワードフィールドのクリアは自動化されていますか?

(進行中の) アプリを 3.1 にアップグレードしたので、パスワードとパスワード確認フィールドをクリアするためのテストを変更する必要がありました。空の値属性をテストするのではなく、欠損値属性をテストする必要がありました。

それは問題ありませんでしたが、フィールドのクリアをオフにしてテストを失敗させようとしたとき、フィールドがまだクリアされていた (値がまだ欠落していた) ため、合格しました。以前は、ユーザーの作成が失敗した場合にフィールドをクリアするために、適切なコントローラーの作成の下に行がありました (そのため、フォームが再表示されたときにフィールドは空になります)。今では不要になったようです。

これは、パスワードおよび確認フィールドのデフォルトの動作ですか?

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

rspec - RSpecを使用して、CanCanが失敗した認証の応答コードをテストするにはどうすればよいですか?

CanCanを使用してリソースを承認するRailsプロジェクトに取り組んでいます。ユーザーがサインインしておらず、(ajaxフォーム送信を介して)「トーク」を送信しようとすると、CanCan{"status":"error","message":"You must be logged in to do that!"}は応答として401を正しく発生させます(これはブラウザでfirebugを使用して確認しました)。ただし、私のテストでは、401ではなく302応答コードを取得します。

talks_controller_spec.rb:

ここに含まれる最初の例は成功しますが(assigns [:talk]は割り当てられません)、2番目の例は成功しません。

何が起こっているのか正確にはわかりません。ブラウザに返される実際の応答コードをテストする方法はありますか?または、承認をテストするためのより良い方法はありますか?

0 投票する
3 に答える
4482 参照

ruby-on-rails - Rails アプリに最初の Cucumber テストを追加する方法

告白: 私は Rails のテストを 1 つも書いたことがありません。

gems cucumber、rspec、capybara、factory girl をインストールしました。Rails 3.1 の実行。

新しいテスト ファイルをどこに作成すればよいか、またはその名前を何に付ければよいかわかりません。

お待ち頂きまして、ありがとうございます。

0 投票する
3 に答える
3729 参照

file-upload - Rails 3.1コントローラーテストでのファイルアップロードのモック

私のコントローラーはtempfile、アップロードされたファイルの属性にアクセスし、それを別のモック コンポーネントに渡します。私のテストコードは

そしてコントローラーコードは を呼び出しますparams[:file].tempfile.path

Rails 3.0 から 3.1 にアップグレードした後、上記の行が失敗し始めました。

つまり、Rails 3.1 はparams[:file]自動的に文字列に変換されます。

ブラウザを介して手動でテストすると、コードは正しく機能します。使っfixture_file_uploadてみたところパラメータはFileオブジェクトになったのですが、tempfileメソッドがありませんでした。

では、Rails 3.1 で任意のモック オブジェクトをパラメーターとしてアクションに渡すにはどうすればよいでしょうか?

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

ruby-on-rails - オブジェクトを作成できたかどうかを rSpec に確認させますか?

私はrspecに非常に慣れていないので、作成されたオブジェクトが実際に存在することを確認するテストを作成しようとしています. 私のテストは次のようになります。

問題は、テストを実行すると次の出力が得られることです。

この時点で接続が拒否されることを期待していますが、テストを中断するのではなく、どうすればそれをテストできますか? または、私が見ているのは正しい出力ですか? ありがとう!

0 投票する
4 に答える
1404 参照

ruby-on-rails - プレーン プロジェクトの RSpec MustBeConfiguredBeforeExampleGroupsError

Rails 3.1 プロジェクトをセットアップしており、RSpec を使用して適切にテストしたいと考えています。

を実行rails g rspec:installし、さらに実行するrspecと、コンソール メッセージは次のようになります。

rspec/spec_helper.rbはこのように見えます:

config.mock_with を使用して既に構成されていると思いましたか? 私は困惑しています、何が欠けていますか?