使用带有水豚的Rspec Rails系统规格,测试失败会导致整个屏幕截图数据输出到控制台

时间:2018-01-18 18:08:55

标签: ruby-on-rails rspec capybara

使用以下宝石:

gem 'rails', '~> 5.1', '>= 5.1.4'
gem 'capybara', '~> 2.17'
gem 'rspec', '~> 3.7'
gem 'rspec-rails', '~> 3.7'
gem 'guard-rspec', '~> 4.7', '>= 4.7.3'
gem 'selenium-webdriver', '~> 3.8'

当我运行rails系统规范并且失败时,屏幕截图有助于保存到我的tmp文件夹中。但是它也会将屏幕截图的全部文本内容输出到控制台,这会堵塞我的终端并减慢调试速度。它看起来像这样:

wall of text

我想保留屏幕截图,但没有将其打印到控制台。 任何帮助将不胜感激!

干杯:)

1 个答案:

答案 0 :(得分:2)

这是Rails系统测试的一部分,它试图在您的终端中显示图像,但是您的终端似乎不支持这一点。从执行此操作的代码 - https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/system_testing/test_helpers/screenshot_helper.rb#L59 - 您可以看到它可以通过几个环境变量进行控制。您可能想要设置

RAILS_SYSTEM_TESTING_SCREENSHOT=simple

运行测试时。