fuubar

The instafailing RSpec progress bar formatter

  • 所有者: thekompanee/fuubar
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

Fuubar

Gem Version Rubygems Rank Overall Rubygems Rank Daily Rubygems Downloads Build Status Code Climate

fuubar is an instafailing RSpec formatter that uses
a progress bar instead of a string of letters and dots as feedback.

examples

Installation

gem install fuubar

# or in your Gemfile

gem 'fuubar'

Usage

In order to use fuubar, you have three options.

Option 1: Invoke It Manually Via The Command Line

rspec --format Fuubar --color

Option 2: Add It To Your Local .rspec File

# .rspec

--format Fuubar
--color

Option 3: Add It To Your spec_helper.rb

# spec/spec_helper.rb

RSpec.configure do, config, config.add_formatter 'Fuubar'
end

Advanced Usage

Customizing The Bar

fuubar exposes an RSpec configuration variable called
fuubar_progress_bar_options which, when set will be passed directly to
ruby-progressbar which does all the heavy lifting. Take a look at
the ruby-progressbar documentation for details on all of the options
you can pass in.

Example

Let's say for example that you would like to change the format of the bar. You
would do that like so:

# spec/spec_helper.rb

RSpec.configure do, config, config.fuubar_progress_bar_options = { :format => 'My Fuubar! <%B> %p%% %a' }
end

would make it so that, when fuubar is output, it would look something like:

My Fuubar! <================================                  > 53.44% 00:12:31

Hiding Pending/Skipped Spec Summary

By default fuubar follows RSpec's lead and will dump out a summary of all of the
pending specs in the suite once the test run is over. This is a good idea
because the additional noise is a nudge to fix those tests. We realize however
that not all teams have the luxury of implementing all of the pending specs and
therefore fuubar gives you the option of supressing that summary.

Example

# spec/spec_helper.rb

RSpec.configure do, config, config.fuubar_output_pending_results = false
end

Enabling Auto-Refresh

By default fuubar refreshes the bar only between each spec.
You can enable an auto-refresh feature that will keep refreshing the bar (and
therefore the ETA) every second.
You can enable the feature as follows:

# spec/spec_helper.rb

RSpec.configure do, config, config.fuubar_auto_refresh = true
end

Undesirable effects

Unfortunately this option doesn't play well with things like debuggers, as
having a bar show up every second would be undesireable (which is why the
feature is disabled by default). Depending on what you are using, you may be
given ways to work around this problem.

Pry

Pry provides hooks that can be used to disable fuubar during a debugging
session, you could for example add the following to your spec helper:

# spec/spec_helper.rb

Pry.config.hooks.add_hook(:before_session, :disable_fuubar_auto_refresh) do, _output, _binding, _pry, RSpec.configuration.fuubar_auto_refresh = false
end

Pry.config.hooks.add_hook(:after_session, :restore_fuubar_auto_refresh) do, _output, _binding, _pry, RSpec.configuration.fuubar_auto_refresh = true
end
Byebug

Unfortunately byebug does not provide hooks, so your best bet is to
disable auto-refresh manually before calling byebug.

RSpec.configuration.fuubar_auto_refresh = false
byebug

Security

fuubar is cryptographically signed. To be sure the gem you install hasn’t been
tampered with, follow these steps:

  1. Add my public key (if you haven’t already) as a trusted certificate
gem cert --add <(curl -Ls https://raw.github.com/thekompanee/fuubar/master/certs/thekompanee.pem)
  1. Install fuubar telling it to use security checks when possible.
gem install fuubar -P MediumSecurity

Note: The MediumSecurity trust profile will verify signed gems, but
allow the installation of unsigned dependencies.

This is necessary because fuubar has a dependency on RSpec which isn't signed,
and therefore we cannot use HighSecurity, which requires signed gems.

Credits

fuubar was written by Jeff Felchner and Jeff
Kreeftmeijer

The Kompanee

fuubar is maintained and funded by The Kompanee, Ltd.

The names and logos for The Kompanee are trademarks of The Kompanee, Ltd.

License

fuubar is Copyright © 2010-2019 Jeff Kreeftmeijer and Jeff Felchner. It is
free software, and may be redistributed under the terms specified in the
LICENSE file.

主要指標

概覽
名稱與所有者thekompanee/fuubar
主編程語言Ruby
編程語言Ruby (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2010-11-15 13:18:58
推送於2022-02-12 13:29:51
最后一次提交2020-12-30 21:19:33
發布數27
最新版本名稱releases/2.5.1 (發布於 )
第一版名稱v0.0.3 (發布於 2012-07-17 23:05:22)
用户参与
星數1k
關注者數9
派生數65
提交數292
已啟用問題?
問題數73
打開的問題數1
拉請求數11
打開的拉請求數1
關閉的拉請求數35
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?