如何全局configurationRSpec以保持打开“–color”和“–format specdoc”选项

如何在Ubuntu中设置RSpec的全局configuration。

具体地说,所有我的项目(即每次在任何地方运行rspec)都会打开–color和–format specdoc。

正如你在这里看到的文档,预期的用途是创build~/.rspec并在其中放置你的选项,如 – --color

要使用--color选项快速创build~/.rspec文件,只需运行:

 echo '--color' >> ~/.rspec 

也可以在所有项目中使用spec_helper.rb文件。 该文件应包括以下内容:

 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 

任何示例文件都必须要求助手能够使用该选项。

在您的spec_helper.rb文件中,包含以下选项:

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

然后您必须在每个*_spec.rb文件中使用该选项。

如果你使用rake来运行rspectesting,那么你可以编辑spec / spec.opts

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

或者简单地把alias spec=spec --color --format specdoc到像我这样的〜/ .bashrc文件中。

有一点需要注意的是运行RSpec的不同方式的影响。

我试图打开spec / spec_helper.rb中的以下代码的选项 –

 Rspec.configure do |config| config.tty = $stdout.tty? end 
  1. 直接调用'rspec'二进制文件 – 或者'bundle exec rspec'并检查$ stdout.tty? 将返回true。
  2. 调用'rake spec'任务 – 或者'bundle exec rake spec' – Rake将在一个单独的进程中调用rspec,$ stdout.tty? 将返回false。

最后,我使用了〜/ .rspec选项,只用–tty作为其内容。 适用于我,并保持我们的CI服务器输出清洁。