2

我正在为 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 交互,我想至少模拟这种行为。

4

1 回答 1

1

我无法找到解决此问题的有效解决方案,因此我只是将单元测试转换为集成/功能测试。

于 2013-03-11T17:25:27.153 回答