如何才能使挂钩执行一次?

时间:2014-09-21 19:08:26

标签: rspec capybara

在我当前的代码中,我在运行每个规范之前执行了visit 'root'login命令。我怎样才能让它执行一次所以我可以加速测试?目前为了解决这个问题,我在一个规范中添加了几个规格。

它也是一个客户端JS应用程序,因此必须在每次访问调用时构建应用程序。登录也可能很慢。一旦应用程序加载,其余的可以非常活泼。

feature "Edit Project Page" do

  context "logged in user with one project" do

    # would like this to execute once for the context
    before() do
      visit root_path      # slow, whole app has to rebuild
      login_user           # also slow
      sleep 1
      @user_id = user_id()
      create_project
    end

    scenario "foo" do
      #...
      page.should have_content "foo"
    end 

    scenario "bar" do
      #...
      page.should have_content "bar"
    end 

  end

end

1 个答案:

答案 0 :(得分:0)

经过一些故障排除后,似乎before(:all)只运行一次设置(我假设没有param会这样做)。