console.log语句在Jest中不输出任何内容。昨天还挺管用的,今天突然就不管用了。我没有对我的配置做任何更改,也没有安装任何更新。

我没有使用——forceExit选项。仍然看到这个问题。


当前回答

在我的例子中,问题是从编译版本(在dist文件夹中)而不是从src文件夹中导入函数。因此它使用的是旧版本。所以重建项目和/或从src导入解决了我的问题。

其他回答

将我的文件从index.spec.js重命名为index.test.js。

在我的例子中,问题是从编译版本(在dist文件夹中)而不是从src文件夹中导入函数。因此它使用的是旧版本。所以重建项目和/或从src导入解决了我的问题。

根据https://github.com/facebook/jest/issues/2441上的评论,

尝试在package.json的jest选项中设置verbose: false(或删除它)。

还要确保你的笑话配置没有silent: true。就我而言,我没有意识到其他人已经将其添加到我们的配置中。

我在配置选项列表中没有看到它,但是这里记录了命令行标志。

尝试使用console.debug()代替。

在测试函数中运行console.debug('Message here', yourValueHere),它应该在运行测试脚本时显示在控制台输出中。您可以使用Ctrl+F验证它是否工作,并在标准输出中找到Message。

这是在控制台中显示输出的技巧,虽然这不是一个关于如何使用console.log的答案,我理解。

我运行@test -library/jest-dom和jest-junit 12.0.0作为开发依赖。 joke -junit的最小配置为

  "jest-junit": {
    "usePathForSuiteName": "true"
  },

在package.json。这主要用于配置覆盖率报告。 Jest是这样配置的:

  "jest": {
    "testMatch": [
      "**/__tests__/**/*.[jt]s?(x)",
      "**/?(*.)+(spec|test).[jt]s?(x)",
      "!**/utilities.ts",
    ],