3

我想为我的 rails 3 控制器之一编写功能测试,断言给定的 cookie 已被清除。我努力了:

test "cookie should be cleared" do
  @request.cookies["foo"] = "bar"
  put :clear_foo
  assert @response.cookies["foo"].nil?
end

但是,即使控制器是无操作的,此测试也会成功(我已经手动确认 cookie 在设置时仍然存在于我的浏览器中)。

有任何想法吗?

澄清一下,这个问题是关于如何测试 cookie 是否被清除,而不是关于如何实际清除它。

4

1 回答 1

2

看起来

assert cookies["foo"].nil?

做这项工作。另请参阅 Chu Yeow 的博客文章“Ruby on Rails 中的一些功能测试陷阱”

于 2012-06-26T20:39:26.037 回答