2012-01-29 69 views
0

在從學習Ruby的堅硬方式如下代碼:https://gist.github.com/1696733會議似乎測試(運行ruby test_gothonweb.rb看到我的意思)通過「後」走出後消失。如果我實際上使用瀏覽器訪問網站,一切正常,但我希望能夠在不訪問每個網頁的情況下測試網站。會話在測試中消失的可能原因是什麼?如何使Sinatra會話在測試中持續貫穿POSTs?

接近這個問題有幾個問題,但他們中的大多數是通過不使用霰彈槍解決的。我是而不是使用shotgun。我只是使用常規的ruby

版本:

  • 紅寶石:1.9.2
  • 屈:1.3.2
  • 機架: 1.4.0 1.4.1
  • 機架測試:0.6.1

編輯

我還在按照http://benprew.posterous.com/testing-sessions-with-sinatra進行測試時禁用了會話 - 在GET的情況下使用會話進行的第一個測試確實可行(但不是POST一個)。

回答

0

機架1.4.0存在已知問題。更新寶石1.4.1

+0

感謝您的答覆。我更新了機架寶石到1.4.1,但錯誤仍然存​​在。其他線索? – William 2012-01-29 14:50:10

+0

對不起,沒有看到要點。運行測試時,您沒有啓用會話。通過說除非測試?你正在跳過會話選項。嘗試刪除除非測試? – three 2012-01-29 14:59:43

+0

是的,我正在做這個基於以下:http://stackoverflow.com/questions/4402808/how-to-test-sinatra-app-using-session和http://benprew.posterous.com/testing-sessions -with-sinatra。如果我除去'除非測試?'第一個測試失敗(get) - 但它工作,如果我在測試中禁用會話。 – William 2012-01-29 16:03:15