如何全局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
或者简单地把alias spec=spec --color --format specdoc
到像我这样的〜/ .bashrc文件中。
有一点需要注意的是运行RSpec的不同方式的影响。
我试图打开spec / spec_helper.rb中的以下代码的选项 –
Rspec.configure do |config| config.tty = $stdout.tty? end
- 直接调用'rspec'二进制文件 – 或者'bundle exec rspec'并检查$ stdout.tty? 将返回true。
- 调用'rake spec'任务 – 或者'bundle exec rake spec' – Rake将在一个单独的进程中调用rspec,$ stdout.tty? 将返回false。
最后,我使用了〜/ .rspec选项,只用–tty作为其内容。 适用于我,并保持我们的CI服务器输出清洁。