How do I globally configure RSpec to keep the '

2019-01-29 19:12发布

How do I set global configuration for RSpec in Ubuntu.

Specifically so, --color and --format specdoc stay turned on, across all my projects (ie every time I run rspec anywhere).

6条回答
Deceive 欺骗
2楼-- · 2019-01-29 19:19

If you use rake to run rspec tests then you can edit spec/spec.opts

http://rspec.info/rails/runners.html

查看更多
女痞
3楼-- · 2019-01-29 19:24

As you can see in the docs here, the intended use is creating ~/.rspec and in it putting your options, such as --color.

To quickly create an ~/.rspec file with the --color option, just run:

echo '--color' >> ~/.rspec 
查看更多
\"骚年 ilove
4楼-- · 2019-01-29 19:37

One can also use a spec_helper.rb file in all projects. The file should include the following:

RSpec.configure do |config|
  # Use color in STDOUT
  config.color = true

  # Use color not only in STDOUT but also in pagers and files
  config.tty = true

  # Use the specified formatter
  config.formatter = :documentation # :progress, :html,
                                    # :json, CustomFormatterClass
end

Any example file must require the helper to be able to use that options.

查看更多
ゆ 、 Hurt°
5楼-- · 2019-01-29 19:38

One thing to be aware of is the impact of the different ways of running RSpec.

I was trying to turn on the option with the following code in spec/spec_helper.rb -

Rspec.configure do |config|
  config.tty = $stdout.tty?
end
  1. calling the 'rspec' binary directly - or as 'bundle exec rspec' and checking $stdout.tty? will return true.
  2. invoking the 'rake spec' task - or as 'bundle exec rake spec' - Rake will invoke rspec in a separate process, and $stdout.tty? will return false.

In the end I used the ~/.rspec option, with just --tty as its contents. Works well for me and keeps our CI server output clean.

查看更多
▲ chillily
6楼-- · 2019-01-29 19:39

Or simply add alias spec=spec --color --format specdoc to your ~/.bashrc file like me.

查看更多
Melony?
7楼-- · 2019-01-29 19:42

In your spec_helper.rb file, include the following option:

RSpec.configure do |config|
  config.color_enabled = true
end

You then must require in each *_spec.rb file that should use that option.

查看更多
登录 后发表回答