我编写了一个Node.js控制台脚本,用于为其输出着色,但前提是输出是TTY。如果没有,输出不会着色。
现在我有一个测试,检查输出是否着色(我想确保添加了正确的ANSI代码)。这在使用Grunt手动运行单元测试时效果很好,但在使用Jenkins自动运行单元测试时失败。
原因很明显:Jenkins没有为我的测试提供TTY。
现在我有两个选择:
我不喜欢第一个选项,因为这意味着我的测试取决于运行它们的环境。
我需要做些什么才能做第二件事?
答案 0 :(得分:1)
对于你的测试如何使用sinon和重新连接来存根tty.isatty()
所以它返回true?你也可以用这种方式测试真假案例。