[ruby] ‘–color’및 ‘–format specdoc’옵션을 유지하도록 RSpec을 전체적으로 구성하는 방법

Ubuntu에서 RSpec에 대한 전역 구성을 설정하는 방법

특히, –color 및 –format specdoc은 모든 프로젝트에서 (즉, 어디서나 rspec을 실행할 때마다) 켜져 있습니다.



답변

여기 문서 에서 볼 수 있듯이 의도 된 용도는 다음 ~/.rspec과 같은 옵션을 작성 하고 넣는 것 --color입니다.

옵션을 사용하여 ~/.rspec파일 을 빠르게 만들려면 --color다음을 실행하십시오.

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를 사용하여 rspec 테스트를 실행하는 경우 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? 거짓을 반환합니다.

결국 나는 ~ / .rspec 옵션을 –tty를 내용으로 사용했습니다. 나를 위해 잘 작동하고 CI 서버 출력을 깨끗하게 유지합니다.


답변