問題タブ [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.
rspec - コメントフォームの存在を確認する仕様のランダムな「%2F」
rspec を学ぶためにまとめている単純なアプリケーションの posts/show.html.erb ビューの仕様を書こうとしています。余分な「%2F」がどこから来ているのかを突き止めようとして、私は現時点で少し困惑しています。何か案は?
私のスペック...
余分な %2F を含むスペック出力...
model - RSpecテストでモデルの関連付けを設定するにはどうすればよいですか?
RSpecを学習する手段として、作成しているアプリケーションのposts/show.html.erbビュー用に作成した仕様を貼り付けました。私はまだモックとスタブについて学んでいます。この質問は、「関連するすべてのコメントをリストする必要がある」仕様に固有のものです。
私が欲しいのは、ショービューに投稿のコメントが表示されることをテストすることです。しかし、私がよくわからないのは、このテストをセットアップしてから、should contains('xyz')ステートメントを使用してテストを反復処理する方法です。ヒントはありますか?他の提案も大歓迎です!ありがとう。
- -編集
いくつかの詳細情報。私のビューのコメントにnamed_scopeを適用しているので(この場合は少し逆にした)、@ post.comments.authorized_is(true)。貼り付けられたコードは、「#の未定義のメソッド `authorized_is'」というエラーで応答します。これは、スタブコメントを指定してコメントを返すため、意味があります。ただし、@ post.comments.authorized_is(true)がコメントの配列を返すようにスタブをチェーンする方法はまだわかりません。
file-upload - merbでの認証済みファイルのアップロードのテスト
これは、過去数日間私を怒らせてきたものです。認証されたユーザーがアセットをサイトにアップロードできるようにするアクションがあります。プロセスを手動で実行できるため、コントローラーのアクションが正しいことはわかっていますが、rspecを使用してテストしたいと思います。
この一連のテスト用request
の認証済みセッションを再利用できるように、ヘルパーを使用する必要があります。:given
仕様内でブレークポイントを設定すると、すべてうまく機能しますが、仕様を実行し、デバッガーを介してコントローラーアクションのパスにアクセスしようとすると、次のようになります。
私の推測ではstub!(:path)
、リクエストを介して作成しているモックオブジェクトに対しては設定されていません。
問題は、ファイルのアップロードをテストするための正しい方法を検討しているのか、そうでない場合は別の方法を検討しているのかということです。
ruby - クラスメソッドで「すべき」を使用しますか?
私は次のような電話をかけることに慣れています:
変数についてですが、次のようなクラスメソッドで同様のことを行うにはどうすればよいFile.directory?(my_path)
ですか?
RubyFile.should be_directory(my_path)
は File.
私はそれをひっくり返して書くことができることを知っています
しかし、それが失敗したときのメッセージは非常に貧弱です。
何か案は?
ruby-on-rails - RSpecのmockとmock_modelの違いは何ですか
mock
私は最近、人々がとmock_model
機能の両方を使用するさまざまなチュートリアルに出くわしました。
コントローラーのRSpecチュートリアルでは、mock_model
関数を使用しますが、RSpecのドキュメントにmock
は、関数のみがあり、mock_model
自分でいくつかのテストを実行しようとしましたが、これら2つの関数のいずれかを使用してもすべて問題がなかったため、実際の違いは見つかりませんでした。違いはありますか?
ruby-on-rails - キュウリの物語を持つセッション変数
私はいくつかのステップがある「サインアップ」アプリケーションのためにいくつかのキュウリの物語に取り組んでいます。
それから、すべてのステップを一度にカバーするためにHuuuuuuugeストーリーを書くのではなく、それは悪いことですが、私は通常のユーザーのようにコントローラーの各アクションを実行したいと思います。ここでの私の問題は、最初のステップで作成されたアカウントIDをセッション変数として保存しているため、ステップ2、ステップ3などにアクセスすると、既存の登録データが読み込まれることです。
controller.session[..]
RSpec仕様内でアクセスできることは知っていますが、Cucumberストーリーでこれを実行しようとすると、次のエラーで失敗します(また、これはアンチパターンなどです...):
controller.session [:whatever]またはsession [:whatever]を使用する
session(:whatever)を使用する
したがって、セッションストアへのアクセスは実際には不可能のようです。私が疑問に思っているのは、それが可能かどうかです(そして、どちらが最善かと思います..):
- セッションストアなどをモックアウトする
- コントローラ内にメソッドを持ち、それをスタブします(たとえば
get_registration
、インスタンス変数を割り当てます...)
私はRSpecの本を(よく、スキミングして)調べ、WebRatなどを調べましたが、私の問題に対する答えは実際には見つかりませんでした...
もう少し明確にするために、サインアッププロセスはステートマシンのようなものです-たとえば、ユーザーは登録が完了する前に4つのステップを進めます-したがって、「ログイン」は実際にはオプションではありません(サイトの動作モデルを壊します) )..。
コントローラーの仕様では、セッション変数に基づいてモデルをロードするメソッドの呼び出しをスタブ化することができましたが、「アンチパターン」行がモックだけでなくスタブにも適用されるかどうかはわかりませんか?
ありがとう!
ruby-on-rails - DB オーバーヘッドを最小限に抑えて Rails で関連付け拡張ロジックをテストする方法
私は、スペックをすばやく実行し続けるために、できる限りモックとスタブを使用するのが好きです。次の find_special メソッドをテストするためにこれを行う方法について、私はちょっと困惑しています。
これに :extend => モジュール構文を使用してもかまいませんが、違いはないと思います。
ajax - MerbとWebratでAJAXリクエストをテストする方法は?
私はrspecとwebratでmerbを使用しています。rjsテンプレートが正常にレンダリングされたことを確認するにはどうすればよいですか?ajaxのためにhave_xpathを書くことはできません。
ruby-on-rails - Rails:ZenTest/autospecを使用して新しいディレクトリの仕様をテストする
Railsアプリケーションにサービスクラスのディレクトリを追加しています:app / services
これらのクラスの仕様を次のディレクトリに追加したいと思います:spec / services
スペック/サービスにスペックを追加しましたが、autospecを実行してもサンプルは実行されません。
新しいディレクトリで例を実行するようにautospecを構成する方法はありますか?
ありがとう。
ruby - RSpecで複数行の文字列を比較するには?
ビルダーを使用して XML を生成しており、その結果をファイルの内容と比較したいと考えています。ただし、文字列が非常に長いため、文字列が異なると出力が読みにくくなります。
ルビーで文字列を比較するためのライブラリがいくつかあることは知っていますが、読みやすい複数行の文字列比較エラーを生成するための機能が rspec に組み込まれていますか?