ruby-on-rails - 在 Rails 3.x 功能测试中使用 Capybara 的正确方法是什么?

标签 ruby-on-rails ruby capybara

因此,Rails 会在 test/function 目录中为 Controller 生成一些功能测试。这些测试扩展自 ActionController::TestCase

但是在 Capybara 的网站中,他们只展示了如何通过猴子修补来准备集成测试 ActionDispatch::IntegrationTest:

DatabaseCleaner.strategy = :truncation

class ActionDispatch::IntegrationTest
  # Make the Capybara DSL available in all integration tests
  include Capybara::DSL

  # Stop ActiveRecord from wrapping tests in transactions
  self.use_transactional_fixtures = false

  teardown do
    DatabaseCleaner.clean # Truncate the database
    Capybara.reset_sessions! # Forget the (simulated) browser state
    Capybara.use_default_driver # Revert Capybara.current_driver to Capybara.default_driver
  end
end

但是他们没有提到如何设置 Capybara 以用于功能测试。正确的做法是什么?

最佳答案

你不会使用 capybara ,因为那是网页工具。功能测试不涉及这一点。您只需要证明您的 Controller 逻辑具有正确的行为即可。对于 RSpec 就足够了。

参见http://rubydoc.info/gems/rspec-rails/frames Controller 规范部分。

关于ruby-on-rails - 在 Rails 3.x 功能测试中使用 Capybara 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9362295/

相关文章:

ruby-on-rails - Ruby 表达式求值 : whitespace matters?

ruby-on-rails - 关闭 Capybara::ElementNotFound/避免嵌套救援

ruby-on-rails - Ruby on Rails 表单页面缓存,包括authentity_token

ruby-on-rails - 如何使用可选的嵌套资源和 cancan?

ruby-on-rails - rails : Nesting resources more than 1 level deep

ruby - 使用 to_s(2) 在 ruby​​ 中将变量转换为二进制时出现错误

ruby-on-rails - 从顶层访问类变量

ruby-on-rails - Rails应用程序流程图生成?

ruby-on-rails - capybara cucumber 中 assigns() 的替代方案?

ruby-on-rails-3 - Rspec/Capybara/Selenium 测试在查找不应该存在的 Assets 路径时失败