我有一个项目使用ts-jest预设进行我的笑话测试,这些测试以打字稿编写。配置看起来像这样。
module.exports = {
preset: 'ts-jest',
testEnvironment: 'node',
};
不幸的是,当我尝试在单个测试文件中调试单个测试时,它似乎试图编译其他不相关的测试(文件没有被任何东西导入)。
它们无法编译(因为它们在草稿中),并且此编译器故障阻止了我正在测试的调试。
通过单击VSCode的util.test.ts文件中的“调试”热链接而产生的调用如下所示。因此,我希望所有的编译和调试任务都仅限于test/lib/formula/util.test.ts
文件及其导入,并且确实只有一个测试可以在该套件中运行...
env 'NODE_OPTIONS=--require "/Applications/Developer/Visual Studio Code.app/Contents/Resources/app/extensions/ms-vscode.js-debug/src/bootloader.bundle.js" ' 'VSCODE_INSPECTOR_OPTIONS={"inspectorIpc":"/var/folders/cj/qrcw8f3d1cj71dp5x2wrkkynk6z1lj/T/node-cdp.88881-4.sock","deferredMode":false,"waitForDebugger":"","execPath":"/Users/cefn/.nodenv/shims/node","onlyEntrypoint":false,"fileCallback":"/var/folders/cj/qrcw8f3d1cj71dp5x2wrkkynk6z1lj/T/node-debug-callback-1cc8c127f12b5779"}' /Users/cefn/.nodenv/shims/node ./node_modules/.bin/jest /Users/cefn/Documents/bbc/github/derel/search-recipe-testing/test/lib/formula/util.test.ts -t "Encode hunks to solr http query string" --runInBand
但是,ts-jest,jest,typescript或vscode工具的某些部分导致上述命令触发了不相关的测试文件的编译任务,但失败了,这杀死了测试,因此上面的输出命令看起来像...
Debugger listening on ws://127.0.0.1:63677/ab83b821-4030-410a-b39a-76240892f588
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
FAIL test/lib/formula/util.test.ts
● Test suite failed to run
suite/bugs/draft.test.ts:24:71 - error TS2304: Cannot find name 'Doc'.
我安装了VSCode和Jest扩展。我试图在具有相同配置文件和相似结构(带有错误的good.test.ts
和bad.test.ts
)的单独存储库中重新创建案例,但是我无法重新创建失败。
在单独的存储库中,尝试调试good.test.ts
不会触发尝试编译其旁边的bad.test.ts
。配置相同的仓库位于https://github.com/cefn/ts-jest-compile-bug,我看不到这种情况与其他情况有什么区别。
现在,我不知该如何触发,以及开发堆栈中的哪些组件可能负责该行为。
在我看来,我正在从事的项目根本没有任何不寻常的配置或开发插件,因此它似乎来自主流工具。
任何人都建议使用什么工具或配置来负责这种混杂的编译,因此我可以调查并解决该问题?