0

在應用程序中,我們使用第3部分服務,有時會被破壞。我們定期測試由水豚,Poltergeist的應用程序。但是爲了測試在錯誤日誌中更具體,我需要捕獲來自get/post api調用的測試數據響應到第3個par服務。我知道關於Poltergeist方法page.driver.network_traffic,但這裏沒有數據,僅對我有用response.urlresponse.status,但我也想以某種方式獲取數據。提前致謝。如何通過Capybara在測試中捕獲http數據repsponce

回答

0

水豚不適合或設計用於API測試,請參閱此博客文章http://www.elabs.se/blog/34-capybara-and-testing-apis。沒有黑客底層代碼的情況下,無法訪問獲取和發佈請求或響應。相反,嘗試RackTest。 RackTest是專門測試API的:https://github.com/brynary/rack-test

編輯:帶有機架測試的主頁文檔不清楚,但您可以使用Rack :: Test :: Methods mixin來獲取響應,請參閱http://www.rubydoc.info/github/brynary/rack-test/Rack/Test/Methods

例如:

require 'rack/test' 

class MyTest < Test::Unit::TestCase 
    include Rack::Test::Methods 

    def app 
    MyApp.new 
    end 

    def my_test 
    get '/' 
    assert last_response.ok? 
    assert_equal '<expected_response>', last_response.body 
    end 

end 
+0

感謝!這是有幫助了很多。 – Denis

相關問題