The*_*ome 4 node.js npm jestjs
目前我正在使用 jest 测试 NodeJS 应用程序。特别是系统看起来像这样:
当我运行测试时,我喜欢对日志进行排序。特别是在第一次测试然后深入日志时。我知道,那个笑话有选择--silent。有趣的是,这个选项不适用于温斯顿。winston的源代码看起来像是试图直接写入stdout/err。
--silent有人知道,在使用该选项运行测试时如何让温斯顿保持沉默
您可以使用setupFilesAfterEnvjest 选项,将其指向将模拟的文件console。例如
将其添加到jest.config.js:
{
...
setupFilesAfterEnv: ["./jest.setup.js"],
...
}
Run Code Online (Sandbox Code Playgroud)
然后创建一个文件jest.setup.js
global.beforeAll(() => {
console.error = jest.fn().mockImplementation(() => {});
console.info = jest.fn().mockImplementation(() => {});
console.log = jest.fn().mockImplementation(() => {});
});
Run Code Online (Sandbox Code Playgroud)
winston的源代码看起来像是试图直接写入stdout/err。
请注意,由于您将 winston 配置为打印到 stdout\stderr,因此上面的以下建议应该可以解决问题。当然,您可能希望为该--silent标志添加额外的检查
否则,您可以利用温斯顿传输的属性来设置使温斯顿沉默的条件silent
silent:如果为 true,则所有日志都会被抑制
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |