rspec
๋ช
๋ น ์์ด rspec์ ์๋์ผ๋ก ์คํ ์ค์ด๋ฉฐ ์์ ๊ตฌ์ฑ์ true๋ก ์ค์ ํ๊ณ ์ถ์ต๋๋ค.
๋ ๋ ธ๋ ฅ ํ์ด:
RSpec.configure do |c|
c.tty = true
c.color = true
end
p RSpec.configuration.tty? # => true
p RSpec.configuration.color? #ย => false
๊ทธ๋ฆฌ๊ณ ๋ณด์๋ค์ํผ ์๋ํ์ง ์์ต๋๋ค.
output_to_tty?
๋ฉ์๋๋ฅผ ๋ณด๋ฉด:
def output_to_tty?
begin
output_stream.tty? || tty?
rescue NoMethodError
false
end
end
output_stream.tty์์ NoMethodError
๋ฅผ ๋์ง๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๊น? ๋ฐ false๋ฅผ ๋ฐํ - ๋ฐ๋ผ์ ์์ ์ต์
์ด true๋ฅผ ๋ฐํํ๋ ์ด ๋ฉ์๋์ ์์กดํ๊ธฐ ๋๋ฌธ์ ์์์ ํ์ฑํํ ์ ์์ต๋๋ค.
๊ทธ๋ ๋ค๋ฉด ์ด๋ป๊ฒ (์ฝ๋๋ฅผ ์ฌ์ฉํ์ฌ) ์์ ๊ตฌ์ฑ์ true๋ก ๊ฐ์ ํ ์ ์์ต๋๊น?
RSpec.configure do |c|
def c.color; true; end
end
๋ถ๋ช ํ ํดํน์ด์ง๋ง ์ค์ ๋ก ์ค๊ณ๋์ง ์์ ๋ฐฉ์์ผ๋ก RSpec์ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ ๊ด์ฐฎ์ต๋๋ค.
์ ์๋ํฉ๋๋ค. ์ง์ํด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค.
--color --tty
๊ฐ) ์ด ์์
์ ์ํํ์์ ์์์ต๋๋ค. ๋ด ํ
์คํธ๋ TTY์ ์ฐ์ง ์๋ ํค๋๋ฆฌ์ค ์ฐ์ ํตํฉ ์์คํ
์์ ์คํ๋์ง๋ง CI ์์คํ
์ ์ปฌ๋ฌ ์ถ๋ ฅ์ ์บก์ฒํ๊ณ ์น ๋ธ๋ผ์ฐ์ ์์ ์ ์ ํ๊ฒ ๋ ๋๋งํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฅํ๋ฉด ์ปฌ๋ฌ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์์ต๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
--color --tty
๊ฐ) ์ด ์์ ์ ์ํํ์์ ์์์ต๋๋ค. ๋ด ํ ์คํธ๋ TTY์ ์ฐ์ง ์๋ ํค๋๋ฆฌ์ค ์ฐ์ ํตํฉ ์์คํ ์์ ์คํ๋์ง๋ง CI ์์คํ ์ ์ปฌ๋ฌ ์ถ๋ ฅ์ ์บก์ฒํ๊ณ ์น ๋ธ๋ผ์ฐ์ ์์ ์ ์ ํ๊ฒ ๋ ๋๋งํ ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฅํ๋ฉด ์ปฌ๋ฌ๋ฅผ ์ฌ์ฉํ๊ณ ์ถ์์ต๋๋ค.