在rspec测试之前启动轨道?

时间:2011-11-27 23:56:11

标签: ruby-on-rails ruby selenium rspec selenium-webdriver

根据惯例或代码,RSpec测试中是否有任何方法可以在测试运行之前启动轨道?我正在尝试为使用chrome的selenium测试设置测试框架,现在我只是因为缺少正在运行的服务器而受阻。

require 'spec_helper'

describe 'The first tab' do
  before(:each) do
    @driver = Selenium::WebDriver.for :chrome
  end

  it 'Shows the list' do
    @driver.navigate.to 'index.html'
  end
end

我是RSpec的新手,所以我不确定如何在rails服务器运行时创建一系列测试。

2 个答案:

答案 0 :(得分:3)

您应该使用Capybara来测试这些内容。它在内部使用selenium-webdriver来提供JavaScript测试支持。

使用Capybara,您将此测试放在spec/integrationspec/requests文件夹中并按如下方式编写:

require 'spec_helper'
describe 'The first tab' do
  it "shows the list", :js => true do
    visit list_path
  end
end

:js => true放在示例名称之后,Capybara将知道将其作为JavaScript测试运行。

答案 1 :(得分:-2)

只需运行rails server并终止进程即可完成测试。