0

我正在尝试为我的网站创建功能规格,但我几乎找到了一个绊脚石。Rspec - 使用javascript驱动程序的水豚功能规格在故障后未完成

当我尝试运行水豚javascript功能规范时,它失败,但不会结束测试或关闭浏览器窗口。

运行这个测试

RSpec.feature "Whatever", type: :feature, js: true do 
    scenario "whatever again" do 
    visit "/whatever_url" 
    expect(true).to eq(true) 
    end 
end 

结果

Whatever 
    whatever again (FAILED - 1) 

,并挂在那儿好几个小时,没有关于是什么导致了失败

我同时与硒试图消息和webkit的JavaScript驱动程序。 他们大部分都在工作,因为当我用更复杂的动作来执行它们时,它们只是完成测试部分而给我带来麻烦。

我使用rails 4.2.4,rspec 3.5.1,capybara 2.7.1和ubuntu 15.10来运行它。 如果还有任何其他有用的数据,请让我知道

+0

比如你给予的应该不会失败 - 你得到了什么错误? –

+0

就是这样,我没有得到任何错误。我已经更新了问题以包含规范的结果(不知道为什么我首先忘记了这个) – Jarfis

+0

ok - fyi假设你打电话的RSpec.feature是由Capybara提供的,那么你不要因为它已经设置了,所以也不需要指定'type :::feature'。 –

回答

0

我想出了问题所在。

在我的rails_helper中有一个config.after(:all)块环绕DatabaseCleaner.clean当javascript规格完成时,它被冻结。

visit被解雇时,测试中的失败本身就是一个丢失的资产。

更新:我也遇到了同色器件交互的其他问题,水豚和JS webdrivers,并解决了与解决方案here,并实施该解决方案后的after(:all)DatabaseCleaner.clean不再会导致此问题

相关问题