【问题标题】:Simulate TTY for Node.js in Jenkins在 Jenkins 中为 Node.js 模拟 TTY
【发布时间】:2015-02-21 13:59:07
【问题描述】:

我编写了一个 Node.js 控制台脚本,可以对其输出进行着色,但前提是输出是 TTY。如果不是,则输出未着色。

现在我有一个测试来检查输出是否是彩色的(我想确保添加了正确的 ANSI 代码)。这在使用 Grunt 手动运行单元测试时效果很好,但在使用 Jenkins 自动运行单元测试时会失败。

原因很明显:Jenkins 没有为我的测试提供 TTY。

现在我有两个选择:

  • 调整测试以检查 TTY 是否可用,并取决于对事物的检查。
  • 为 Jenkins 中的测试提供 TTY。

我不喜欢第一个选项,因为这意味着我的测试取决于运行它们的环境。

我需要做什么才能做第二件事?

【问题讨论】:

    标签: node.js unit-testing jenkins tty


    【解决方案1】:

    对于您的测试,如何使用 sinon 和 rewire 来存根 tty.isatty() 使其返回 true?您也可以通过这种方式测试真假案例。

    【讨论】:

    • 嗯,是的,实际上这是个好主意。非常感谢这个:-))
    猜你喜欢
    • 1970-01-01
    • 2016-05-10
    • 2017-12-07
    • 2012-09-13
    • 2013-07-03
    • 2015-10-30
    • 2021-11-18
    • 2013-11-25
    • 2021-11-02
    相关资源
    最近更新 更多