問題タブ [rack-test]

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 に答える
723 参照

ruby-on-rails-3 - rspec が失敗するのはなぜですか?

ページのタイトルをrspecで確認したい。クロムでは期待される結果が表示されますが、rspecはタイトルが空であると主張しています(クロムビューソースでもOKです)。ここにいくつかのコード:

application.html.rb

home.html.erb

home_page_controller.rb

ルート.rb

home_pages_spec.rb

そしてエラー

編集: ここに私のgemfileがあります

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

ruby-on-rails - ミニテストラックテスト

minitest と reacktest を一緒に使用してリクエスト仕様を作成する例はありますか?

リソースをリクエストできるようにしたい:

get '/api/resource', format: :json

そして、応答をテストします。

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

ruby - Rack::Test 内でのログの収集

私はラックアプリケーション(具体的にはSinatraのものですが、それは問題ではないと思います)を持っています。これは、正常に実行されている場合、それに対して行われているリクエストに関する一連の情報をSTDOUTに喜んで出力します。例:

ログファイルからパスワードを削除するための拡張機能を作成しようとしているRack::CommonLoggerので、もちろん、最初のタスクはテストを作成することです。

私はそのようにrack/test設定しましたrspecが、送信ログをキャプチャする方法がわからないので、それらの内容をスキャンできます! 何か案は?

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

ajax - Rack::Test を使用して AJAX POST をテストする - データを渡す方法は?

Rack::Testを使用してアプリをテストしており、AJAX を介したデータの投稿をテストする必要があります。

私のテストは次のようになります。

しかし、サーバー側では、POST されたデータを受信して​​いません。

なしで params ハッシュを渡すだけでも試しましたto_jsonが、違いはありませんでした。

これを行う方法はありますか?

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

ruby-on-rails - カピバラの機能テストでミドルウェアが呼び出されない場合がある (rack-test を使用)

Railtie を使用してミドルウェアを追加する作業をしている宝石があります。非常に単純なもので、レールガイドセクションにほぼ正確に従いました。開発/ステージング/本番環境で正常に動作します。

envミドルウェアは、特定のキーでハッシュのようなオブジェクトを初期化します。

しかし、私のカピバラ テストでは、このキーは時々初期化されるだけです。visitミドルウェアにデバッガーを追加したところ、メソッドを使用するたびにデバッガーが呼び出されないことがわかりました。

さらに、この特定の仕様ファイルには 4 つの例があり、各例がvisit1 回呼び出されます。しかし、spec ファイルを実行すると、ミドルウェアが3 回呼び出されることもあれば、2 回呼び出されることもあります明らかに、すべてのリクエストに対してミドルウェア スタックを呼び出す必要があります。


tl;dr:visitカピバラの機能仕様 (ラック テスト ドライバーを使用) を呼び出しても、ミドルウェア スタックが呼び出されないことがあります。


ヘルプ?

  • ルビー 2.0.0-p353
  • レール 4.0.2
  • カピバラ 2.2.1
  • ラックテスト 0.6.2

編集:これは、ここに関連するコードの一部です:ミドルウェアがどのように追加され、何をするか。MyGem::Middleware#call は、カピバラのメソッドを使用する場合にのみ呼び出されます。visit