問題タブ [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.

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

rspec - コメントフォームの存在を確認する仕様のランダムな「%2F」

rspec を学ぶためにまとめている単純なアプリケーションの posts/show.html.erb ビューの仕様を書こうとしています。余分な「%2F」がどこから来ているのかを突き止めようとして、私は現時点で少し困惑しています。何か案は?

私のスペック...

余分な %2F を含むスペック出力...

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

model - RSpecテストでモデルの関連付けを設定するにはどうすればよいですか?

RSpecを学習する手段として、作成しているアプリケーションのposts/show.html.erbビュー用に作成した仕様を貼り付けました私はまだモックとスタブについて学んでいます。この質問は、「関連するすべてのコメントをリストする必要がある」仕様に固有のものです。

私が欲しいのは、ショービューに投稿のコメントが表示されることをテストすることです。しかし、私がよくわからないのは、このテストをセットアップしてから、should contains('xyz')ステートメントを使用してテストを反復処理する方法です。ヒントはありますか?他の提案も大歓迎です!ありがとう。

- -編集

いくつかの詳細情報。私のビューのコメントにnamed_scopeを適用しているので(この場合は少し逆にした)、@ post.comments.authorized_is(true)。貼り付けられたコードは、「#の未定義のメソッド `authorized_is'」というエラーで応答します。これは、スタブコメントを指定してコメントを返すため、意味があります。ただし、@ post.comments.authorized_is(true)がコメントの配列を返すようにスタブをチェーンする方法はまだわかりません。

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

file-upload - merbでの認証済みファイルのアップロードのテスト

これは、過去数日間私を怒らせてきたものです。認証されたユーザーがアセットをサイトにアップロードできるようにするアクションがあります。プロセスを手動で実行できるため、コントローラーのアクションが正しいことはわかっていますが、rspecを使用してテストしたいと思います。

この一連のテスト用requestの認証済みセッションを再利用できるように、ヘルパーを使用する必要があります。:given

仕様内でブレークポイントを設定すると、すべてうまく機能しますが、仕様を実行し、デバッガーを介してコントローラーアクションのパスにアクセスしようとすると、次のようになります。

私の推測ではstub!(:path)、リクエストを介して作成しているモックオブジェクトに対しては設定されていません。

問題は、ファイルのアップロードをテストするための正しい方法を検討しているのか、そうでない場合は別の方法を検討しているのかということです。

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

ruby - クラスメソッドで「すべき」を使用しますか?

私は次のような電話をかけることに慣れています:

変数についてですが、次のようなクラスメソッドで同様のことを行うにはどうすればよいFile.directory?(my_path)ですか?

RubyFile.should be_directory(my_path)は File.

私はそれをひっくり返して書くことができることを知っています

しかし、それが失敗したときのメッセージは非常に貧弱です。

何か案は?

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

ruby-on-rails - RSpecのmockとmock_modelの違いは何ですか

mock私は最近、人々がとmock_model機能の両方を使用するさまざまなチュートリアルに出くわしました。

コントローラーのRSpecチュートリアルでは、mock_model関数を使用しますが、RSpecのドキュメントにmockは、関数のみがあり、mock_model

自分でいくつかのテストを実行しようとしましたが、これら2つの関数のいずれかを使用してもすべて問題がなかったため、実際の違いは見つかりませんでした。違いはありますか?

0 投票する
11 に答える
17503 参照

ruby-on-rails - キュウリの物語を持つセッション変数

私はいくつかのステップがある「サインアップ」アプリケーションのためにいくつかのキュウリの物語に取り組んでいます。

それから、すべてのステップを一度にカバーするためにHuuuuuuugeストーリーを書くのではなく、それは悪いことですが、私は通常のユーザーのようにコントローラーの各アクションを実行したいと思います。ここでの私の問題は、最初のステップで作成されたアカウントIDをセッション変数として保存しているため、ステップ2、ステップ3などにアクセスすると、既存の登録データが読み込まれることです。

controller.session[..]RSpec仕様内でアクセスできることは知っていますが、Cucumberストーリーでこれを実行しようとすると、次のエラーで失敗します(また、これはアンチパターンなどです...):

controller.session [:whatever]またはsession [:whatever]を使用する

session(:whatever)を使用する

したがって、セッションストアへのアクセスは実際には不可能のようです。私が疑問に思っているのは、それが可能かどうかです(そして、どちらが最善かと思います..):

  1. セッションストアなどをモックアウトする
  2. コントローラ内にメソッドを持ち、それをスタブします(たとえばget_registration、インスタンス変数を割り当てます...)

私はRSpecの本を(よく、スキミングして)調べ、WebRatなどを調べましたが、私の問題に対する答えは実際には見つかりませんでした...

もう少し明確にするために、サインアッププロセスはステートマシンのようなものです-たとえば、ユーザーは登録が完了する前に4つのステップを進めます-したがって、「ログイン」は実際にはオプションではありません(サイトの動作モデルを壊します) )..。

コントローラーの仕様では、セッション変数に基づいてモデルをロードするメソッドの呼び出しをスタブ化することができましたが、「アンチパターン」行がモックだけでなくスタブにも適用されるかどうかはわかりませんか?

ありがとう!

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

ruby-on-rails - DB オーバーヘッドを最小限に抑えて Rails で関連付け拡張ロジックをテストする方法

私は、スペックをすばやく実行し続けるために、できる限りモックとスタブを使用するのが好きです。次の find_special メソッドをテストするためにこれを行う方法について、私はちょっと困惑しています。

これに :extend => モジュール構文を使用してもかまいませんが、違いはないと思います。

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

ajax - MerbとWebratでAJAXリクエストをテストする方法は?

私はrspecとwebratでmerbを使用しています。rjsテンプレートが正常にレンダリングされたことを確認するにはどうすればよいですか?ajaxのためにhave_xpathを書くことはできません。

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

ruby-on-rails - Rails:ZenTest/autospecを使用して新しいディレクトリの仕様をテストする

Railsアプリケーションにサービスクラスのディレクトリを追加しています:app / services

これらのクラスの仕様を次のディレクトリに追加したいと思います:spec / services

スペック/サービスにスペックを追加しましたが、autospecを実行してもサンプルは実行されません。

新しいディレクトリで例を実行するようにautospecを構成する方法はありますか?

ありがとう。

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

ruby - RSpecで複数行の文字列を比較するには?

ビルダーを使用して XML を生成しており、その結果をファイルの内容と比較したいと考えています。ただし、文字列が非常に長いため、文字列が異なると出力が読みにくくなります。

ルビーで文字列を比較するためのライブラリがいくつかあることは知っていますが、読みやすい複数行の文字列比較エラーを生成するための機能が rspec に組み込まれていますか?