1

我正在尝试使用 minitest 两种控制器方法进行测试:

class CurrenciesController < InheritedResources::Base

  def mark_refresh
    session[:refreshable] = true
    redirect_to currencies_url
  end

  def unmark_refresh
    session[:refreshable] = false
    redirect_to currencies_url
  end
end

我的测试:

require "minitest_helper"

describe "Currencies integration" do

  it "should auto refresh" do
    visit currencies_path
    click_on "Auto refresh"
    session[:refreshable].must_equal true
  end

  it "should turn off auto refresh" do
    session[:refreshable] = true
    visit currencies_path
    click_on "Auto refresh"
    session[:refreshable].must_equal false
  end

但我得到未定义的局部变量或方法 `session'。会话哈希必须在测试中以某种方式初始化?我正在使用导轨 3.2.12。

4

1 回答 1

0

我了解到,在集成测试中不应测试会话哈希,并且默认情况下不会在那里添加它。这个问题对弄清楚这一点非常有帮助。

于 2013-04-03T14:10:42.023 回答