Cookie

有不同的方法可以在控制器规范中对 Cookie 进行断言,但我们建议使用以下列出的 `cookies` 方法。

您可以使用字符串或符号来获取或设置您的 Cookie,因为 `cookies` 方法支持无差别访问。

测试控制器中清除的 Cookie 的值

给定一个名为“spec/controllers/applicationcontrollerspec.rb”的文件,其中包含

require "rails_helper"

RSpec.describe ApplicationController, type: :controller do
  controller do
    def clear_cookie
      cookies.delete(:user_name)
      head :ok
    end
  end

  before do
    routes.draw { get "clear_cookie" => "anonymous#clear_cookie" }
  end

  it "clear cookie's value 'user_name'" do
    cookies[:user_name] = "Sam"

    get :clear_cookie

    expect(cookies[:user_name]).to eq nil
  end
end

我运行 `rspec spec`

那么示例应该通过。