【发布时间】:2022-01-06 01:36:00
【问题描述】:
我在 Node.Js Typescript 项目中将 Jest 与 Visual Studio 2019 一起使用,并且发生了一些我不明白的事情,我将不胜感激,以便我了解正在发生的事情。
我在 Visual Studio 的 Node.js 项目中设置了 Jest。 npm 包 jest、ts-jest 和 jest-editor-support 已安装。 Typescript 文件在 VS 2019 中成功编译。
当我从命令行使用 Jest 时,所有测试都运行良好,无论是 .ts 文件中的测试还是编译后的 .js 文件中的测试,都与我在 tsconfig.json 中设置的目标版本无关。没问题。
然而,当我使用 Visual Studio 2019 测试资源管理器时,有两件奇怪的事情:
如果目标版本低于
tsconfig.json中的“ES6”,则构建 失败了,我看到巴比伦解析器(由jest-editor-support) 在foreach和map上引发解析器错误 声明。即使使用“ES6”或更高版本的目标版本,当我使用 Jest 的 .each 函数,包含这些函数的测试不运行 正确。它们显示为“失败”,但在测试详细信息中 摘要窗口,没有其他输出的链接。
由于 Jest 从命令行运行时没有问题,这意味着当测试通过 Visual Studio 2019 的测试资源管理器重新运行时会出现一些不同的情况。如何让测试在测试资源管理器中以相同的方式成功运行? (没有明显发生的绕道巴比伦)。我正在寻找测试资源管理器中失败的测试运行的解决方案,以及了解正在发生的事情。我对 Jest 还很陌生。
(顺便说一句,安装了 Jest / Typescript 的其他项目类型也会出现同样的问题)
【问题讨论】:
-
您找到解决方案了吗?我也有同样的问题
-
@Timmo 刚刚将包括 TS 和 Jest 在内的所有软件包升级到最新版本。不幸的是,问题仍然存在。
-
我对投反对票的原因很感兴趣,因为经过大量研究和努力,我真诚地提出了一个问题。
-
有类似问题,但不是 Node.js 项目。只是在 cmd 中通过并在测试资源管理器中(总是)失败的 asp net core proj 中的一个简单测试。就我而言,问题出在测试名称上-我使用了西里尔字母,重命名后一切正常。我很确定你用英文命名,但是,....谁知道呢。