在 rspec 测试之前启动 Rails?

发布于 2024-12-18 10:19:11 字数 386 浏览 0 评论 0原文

在 RSpec 测试中,按照约定或代码,是否有任何方法可以在测试运行之前启动 Rails?我正在尝试为使用 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 服务器运行时运行的测试。

Is there any way within an RSpec tests, by convention or code, to have rails start before tests run? I'm trying to setup a testing framework for selenium tests that use chrome, and now I'm only hindered by my lack of a running server.

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

I'm new to RSpec, so I'm not sure how I would create a suite of tests that all ran while a rails server was running.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

谁对谁错谁最难过 2024-12-25 10:19:11

您应该使用 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

: true 在示例名称后面 Capybara 会知道将其作为 JavaScript 测试来运行。

You should be using Capybara to test this stuff instead. It uses selenium-webdriver internally to provide JavaScript testing support.

with Capybara, you put this test in either the spec/integration or spec/requests folder and write it like this:

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

By putting :js => true after the example's name Capybara will know to run this as a JavaScript test.

浪漫之都 2024-12-25 10:19:11

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

Just run rails server and kill the process went tests complete.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文