我正在为 Rails 3.2.11 编写 rspec 2.10 视图规范。在我正在测试的视图中,我有一些对其行为至关重要的 JavaScript。我已经能够在 rspec 控制器测试中启用 JavaScript 测试,但是按照此处的说明,我对视图规范没有任何运气。总之,您将以下行添加到 spec_helper.rb:
require 'capybara/rspec'
require 'capybara/rails'
我在规范中将 Capybara 驱动程序设置为 webkit:
Capybara.javascript_driver = :webkit
Capybara.current_driver = Capybara.javascript_driver
我还在我的 Gemfile 中包含了 Capybara-webkit gem,并运行了 bundle install 来安装它。另外,我, :js => true
在规范块定义之前添加。
然而,当我运行类似的测试时
rendered.should have_content('Text in JavaScript button')
我基本上收到一条错误消息,显示呈现的视图在<script></script>
标签中包含 JavaScript 作为文本。
有没有办法可以为我的 rspec 视图规范启用 JavaScript?我需要进行单元测试,这就是为什么我想在视图规范而不是功能规范中进行测试。另外,我不想使用 Jasmine,因为这个视图规范与 Rails 交互,我想至少模拟这种行为。