2017-03-02 5 views
0

에 출력을 표시 나는 실행하여 오이 스크립트를 실행하고 있습니다 :STDOUT을 = 사용 방법, ERR = STDERR는 오이에 :: CLI :: 홈페이지는 HTML

Cucumber::Cli::Main.new(args).execute! 

을 나는의 출력을 얻기 위해 노력하고 있어요 오이를 변수에 넣고 화면에 표시하십시오. 파일을 만들어서 파일을 출력하고, 파일에서 읽고, 출력하는 작업을 수행했습니다.

require 'cucumber' 

output = File.open('index.html', 'w+') 
features = "features/login.feature" 
@args = features.split.concat %w(--format html) 
Cucumber::Cli::Main.new(@args, out=output).execute! 

Here은 소스 코드입니다.

enter image description here

  1. 은 무엇 STDOUTSTDERR 모두 때 오이 출력을 어떻게됩니까? 두 파일 모두에서 어떻게 읽을 수 있습니까?
  2. 오이 스크립트 실행 중에 예외가 발생하면 어떻게됩니까? 예 : 오이가 스크립트를 실행합니다. STDOUT으로 계속 출력됩니다. 갑자기, 그리고 오류. 그것은 부서진다. STDERR으로 출력됩니다. 화면에 표시해야한다는 것을 감안할 때 STDOUTSTDERR에서 모두 읽음으로써 기본 화면에 일반 HTML 파일을 표시 할 수 있습니까?

답변

1

프로그램이 실행되고 콘솔에 무엇인가가 표시되면 STDOUT 또는 STDERR로 전송됩니다. 일반적으로 STDOUT은 결과와 같은 정상 출력이 표시되고 STDERR은 오류 메시지가 전송되는 곳입니다. 이들은 standard streams입니다.

이 함수의 정의 방법은 기본적으로 STDOUT 및 STDERR로 출력되지만 대체 인수를 전달하여 변경할 수 있습니다. 이것은 대체 출력 스트림을 전달하면서이 데이터를 캡처하는 가장 쉬운 방법 일 수 있습니다.