因此Rails为test/functional
目录中的控制器生成一些功能测试。这些测试从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用于功能测试。这样做的正确方法是什么?
答案 0 :(得分:2)
你不会使用Capybara,因为这是一个网页工具。功能测试不涉及这一点。您只需要证明您的控制器逻辑具有正确的行为。对于那个RSpec就足够了。
请参阅http://rubydoc.info/gems/rspec-rails/frames 控制器规格部分。