2012-01-29 66 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