【问题标题】:How to use out=STDOUT, err=STDERR in Cucumber::Cli::Main to display output in HTML如何在 Cucumber::Cli::Main 中使用 out=STDOUT, err=STDERR 以 HTML 格式显示输出
【发布时间】:2017-03-02 13:22:53
【问题描述】:

我正在通过执行来运行黄瓜脚本:

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

我正在尝试将 Cucumber 的输出转换为变量,并将其显示在屏幕上。我通过创建一个文件使其工作,这样做:

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是源代码。

  1. 当黄瓜同时输出到STDOUTSTDERR 时会发生什么?如何读取这两个文件?
  2. 在黄瓜脚本执行过程中引发异常时会发生什么?例如:Cucumber 运行脚本。它一直输出到STDOUT。突然,和错误。它打破了。输出到STDERR。鉴于我必须在屏幕上显示它,如何通过读取STDOUTSTDERR 在主屏幕上显示普通的 HTML 文件?

【问题讨论】:

    标签: ruby cucumber jruby


    【解决方案1】:

    当程序运行并且控制台中出现某些内容时,它被发送到 STDOUT 或 STDERR。通常,STDOUT 是出现正常输出(例如结果)的地方,而 STDERR 是发送错误消息的地方。这些是standard streams

    这个函数的定义方式默认输出到 STDOUT 和 STDERR,但是可以通过传入替代参数来改变这些。这可能是捕获这些数据的最简单方法,传递替代输出流。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-14
      • 2021-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多