web-dev-qa-db-ja.com

'--color'および '--format specdoc'オプションを有効に保つためにRSpecをグローバルに構成するにはどうすればよいですか

UbuntuでRSpecのグローバル構成を設定するにはどうすればよいですか。

具体的には、すべてのプロジェクト(つまり、どこでもrspecを実行するたびに)で--colorおよび--format specdocがオンのままになります。

154
Evolve

ドキュメントで見ることができるように here 、使用目的は~/.rspecを作成し、その中に--colorなどのオプションを入れることです。

~/.rspecオプションを使用して--colorファイルをすばやく作成するには、次を実行します。

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

すべてのプロジェクトで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

サンプルファイルでは、ヘルパーがそのオプションを使用できる必要があります。

149
Shamaoke

あなたのspec_helper.rbファイルには、次のオプションが含まれます。

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

その後、各*_spec.rbそのオプションを使用するファイル。

12

Rakeを使用してrspecテストを実行する場合、spec/spec.optsを編集できます

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

6
fernyb

または、単にalias spec=spec --color --format specdoc私のような〜/ .bashrcファイルに。

2
zzeroo

知っておくべきことの1つは、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を返します。

最後に、内容として--ttyのみを指定して〜/ .rspecオプションを使用しました。私にとってはうまく機能し、CIサーバーの出力をクリーンに保ちます。

1
Leif