Rspec-core: tty ์—†์ด ๊ฐ•์ œ๋กœ ์ƒ‰์ƒ์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

์— ๋งŒ๋“  2012๋…„ 08์›” 25์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: rspec/rspec-core

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๋กœ ๊ฐ•์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

--color --tty ๊ฐ€) ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด ํ…Œ์ŠคํŠธ๋Š” TTY์— ์“ฐ์ง€ ์•Š๋Š” ํ—ค๋“œ๋ฆฌ์Šค ์—ฐ์† ํ†ตํ•ฉ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜์ง€๋งŒ CI ์‹œ์Šคํ…œ์€ ์ปฌ๋Ÿฌ ์ถœ๋ ฅ์„ ์บก์ฒ˜ํ•˜๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ์ ˆํ•˜๊ฒŒ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€๋Šฅํ•˜๋ฉด ์ปฌ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

RSpec.configure do |c|
  def c.color; true; end
end

๋ถ„๋ช…ํžˆ ํ•ดํ‚น์ด์ง€๋งŒ ์‹ค์ œ๋กœ ์„ค๊ณ„๋˜์ง€ ์•Š์€ ๋ฐฉ์‹์œผ๋กœ RSpec์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ง€์›ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

--color --tty ๊ฐ€) ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์Œ์„ ์•Œ์•˜์Šต๋‹ˆ๋‹ค. ๋‚ด ํ…Œ์ŠคํŠธ๋Š” TTY์— ์“ฐ์ง€ ์•Š๋Š” ํ—ค๋“œ๋ฆฌ์Šค ์—ฐ์† ํ†ตํ•ฉ ์‹œ์Šคํ…œ์—์„œ ์‹คํ–‰๋˜์ง€๋งŒ CI ์‹œ์Šคํ…œ์€ ์ปฌ๋Ÿฌ ์ถœ๋ ฅ์„ ์บก์ฒ˜ํ•˜๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ์ ˆํ•˜๊ฒŒ ๋ Œ๋”๋งํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ€๋Šฅํ•˜๋ฉด ์ปฌ๋Ÿฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰