簡體   English   中英

如何在“黃瓜”步驟中從Rack返回響應?

[英]How do I get the response returned from Rack in a Cucumber step?

我的Rails應用程序有一個Cucumber步驟:

Then /^I should be redirected to the sign in page$/ do
  assert_equal 302, @response.status
end

但是那個@response對象是我的Controller返回的對象,而正是Rack中間件將狀態設置為我期望的狀態。 如何獲得最外層中間件而不是控制器返回的響應?

從您的步驟定義看來,您應該測試您是否在登錄頁面上,而不是是否獲得302。但是,按照自己的方式,這是步驟:

Then /^I should be redirected to the sign in page$/ do |url|
  assert @integration_session.status == 302, "Expected status to be 302, got #{@integration_session.status}"
end

嘗試僅使用不帶“ @”的response 它將為您提供WebRat看到的響應對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM