当我使用 poltergeist 作为驱动程序执行了几次体面的水豚测试时,如下所示,
require 'spec_helper'
describe 'Capybara test', js: true do
it 'works' do
visit '/'
end
end
读取编译的 JS 文件(?)时,我开始收到错误“Marshal data too short”。回溯如下所示。
1) Capybara test works
Failure/Error: Unable to find matching line from backtrace
ActionView::Template::Error:
marshal data too short
# ./app/views/layouts/_javascripts.html.erb:7:in `_app_views_layouts__javascripts_html_erb__4483406095691079466_70112937186160'
# ./app/views/layouts/application.html.erb:5:in `_app_views_layouts_application_html_erb__419483610520628071_70112936724940'
# ./app/controllers/home_controller.rb:29:in `index'
./app/views/layouts/_javascripts.html.erb:7 是
<%= javascript_include_tag 'application' %>
和 ./app/views/layouts/application.html.erb:5 是
<%= render 'layouts/javascripts' %>
我已经看到一些问题询问为什么在创建 AR 对象时会发生这种情况(实际原因是会话数据过多),但我认为这是一个不同的原因,因为它是在读取 JS 文件时发生的。
有什么猜测吗?
参考:编组数据太短