使用poltergeist执行一次水豚测试时,"编组数据太短"错误

Tak*_*chi 1 ruby ruby-on-rails

当我使用poltergeist作为一个像下面几次的驱动程序执行一个体面的水豚测试时,

require 'spec_helper'

  describe 'Capybara test', js: true do
    it 'works' do
      visit '/'
    end
  end
Run Code Online (Sandbox Code Playgroud)

在阅读编译的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'
Run Code Online (Sandbox Code Playgroud)

./app/views/layouts/_javascripts.html.erb:7是

<%= javascript_include_tag 'application' %>
Run Code Online (Sandbox Code Playgroud)

和./app/views/layouts/application.html.erb:5是

<%= render 'layouts/javascripts' %>
Run Code Online (Sandbox Code Playgroud)

我已经看到一些问题,询问为什么在创建AR对象时发生这种情况(实际原因是会话数据太多),但我认为这是一个不同的原因,因为它在读取JS文件时发生了.

有什么猜测?

ref:编组数据太短

Tak*_*chi 28

rake tmp:明确解决了这个问题.

由于在tmp/sessions下没有文件,我没有尝试这个命令,但似乎缓存正在触发这个问题.