問題タブ [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.
ruby - テスト中のRubyロードモジュール
padrino アプリケーションを実行しており、付属のメーラーから始めました。メールが送信されたことをテストしたいのですが、これまで Mail::TestMailer オブジェクトにアクセスして、テスト中に配信されたメールを確認するのに問題はありませんでした。
それが私がやっていることの背景ですが、正確には問題ではありません。モジュールをランタイム環境で使用できるようにする方法を知りたいです。このテストには 2 つのバージョンがあります
最初
2番目
2 番目のバージョンでは、このテストは失敗し、次のエラー メッセージが表示NoMethodError: undefined method to' for nil:NilClass
されます。メッセージをクリアしてから、nil である必要がある最後のメッセージを要求します。ただし、最初のバージョンでテストを実行すると、エラーはNameError: uninitialized constant OwnersControllerTest::Mail
どういうわけか get メソッドがMail
オブジェクト/モジュールを利用可能にしています。どうすればこれができるのかわかりません。これがラックテストなのかパドリーノなのか分からないので、ここにどのような追加情報をコピーすればよいかわかりません.
ruby - Rack/Test を使用して Sinatra リダイレクトをテストするにはどうすればよいですか? アプリは機能するが、テストは機能しない
非常に基本的なものが欠けているか、Rack/Test が Sinatra のリダイレクトに対応できていないようです。
おそらく、これを回避する方法があるか、Rack/Test が役に立たないでしょう。ここで機能させるために何をすべきか誰か教えてもらえますか?
(編集:私が最終的に達成したいのは、ステータスではなく、最終的にどのページを取得するかをテストすることです。テストでは、last_response オブジェクトは私のアプリに存在しないページを指しています。実行時に取得します。)
アプリの例:
これは期待どおりに機能します。「/」または「/test」に移動すると、views/test.haml の内容が取得されます。
しかし、このテストはうまくいきません:
テストを実行すると、次のようになります。
そして、これはlast_response.inspect
次のようになります。
Rack/Test がリダイレクトに「 http://example.org 」を挿入することを勝手に決めただけなのだろうか?
ruby - Rack Test で変数「app」を設定するにはどうすればよいですか?
私はRackアプリを持っています:
app
これは問題なく動作しますが、App という名前のモデルがあるため、別のものに変更したいと考えています。
ラック テストを別の名前のアプリに対して実行するように設定するには?
RSpec での作業。アプリを変更すると、次のようになります。
ruby - Sinatra にテストランナーに適したエラー ページを生成させるにはどうすればよいですか?
私はいくつかの通常の容疑者 ( rspec
、rack/test
) で Sinatra アプリをテストしています。開発中に時々、アプリケーション内のエラーにより、Sinatra がエラー応答ページを生成することがあります。このページはすばらしい HTML であり、ブラウザーで操作する場合には非常に便利ですが、テキストベースのテストランナーの世界では、実際にはかなり読みにくいものです。
単体/統合テスト環境で Sinatra を実行すると、プレーン テキストでこれらのエラーが表示されるように Sinatra を構成する良い方法はありますか?
ruby - RSpec / Rack::Test / Sinatra で同時に 2 つのテストを実行する
シナトラアプリの例を考えると
および RSpec テストの例
it does /1
/2 が呼び出されるのを待って、最初のテスト ( ) がハングします。
テスト #2 を開始する前に、テスト #1 の結果が完了するのを待たないように RSpec に指示することは可能ですか? 別名、RSpec で非同期テストは可能ですか?
ruby - Sinatra Rack Test "0 Tests" の実行
小さな Sinatra アプリ用にいくつかの単体テストを作成しようとしています。を実行するruby test.rb
と、ターミナルは「テストを実行中」であると報告しますが、実際には単体テストを取得していません。
アプリ自体は、ローカルで入力ruby app.js
しても、phusion パッセンジャーを介しても正常に動作するため、config.ru および app.js ファイルが適切に設定されていることを示していることを願っています。
これが私がこれまでに持っているものです。
test.rb
ターミナル
デバッグ行が出力されないため、「app」と最初のテスト「root」が実行されていないようです。テストセットアップで見逃したものは何ですか? sinatra レシピ/既存のアプリからのテストを模倣しているように見えるので、何を台無しにしているのかわかりません。ありがとう!
ruby - Capybar/Cucumber と Rack/Test を使用した POST リクエスト
次のような同じ問題があります。
「support/env.rb」では:
「step_definitions/restUtils.rb」で:
結果: nil:NilClass の未定義のメソッド 'call' (NoMethodError)
観測: ruby 2.0.0p645 (2015-04-13) [x64-mingw32] Cucumber 2.0.2
@エリー、私を助けてくれますか?REST を使用したテストの代替手段は何ですか? よろしく!