如何使用ts-node运行TypeScript测试文件?新手求助
作为刚接触Node.js和ts-node的新手,遇到这种测试运行失败的情况很正常,我来一步步帮你排查解决:
先安装完整的项目依赖
别只单独装全局的typescript和ts-node,开源项目通常有自己的依赖包(包括测试工具、类型定义等)。回到项目根目录,运行以下命令把所有依赖(包括开发依赖)装到位:npm install如果你用yarn的话就运行
yarn install。优先使用项目自带的测试命令
打开项目根目录的package.json文件,查看scripts字段里有没有test相关的配置。比如这个项目可能已经预设了类似这样的命令:"scripts": { "test": "mocha -r ts-node/register test/**/*.ts" }如果有的话,直接在根目录运行
npm test就好——这是最稳妥的方式,项目已经帮你配置好了正确的运行参数,不用自己手动拼接命令。手动运行时指定项目的tsconfig
如果你想单独运行某个测试文件,记得指定项目的TypeScript配置文件,避免和全局的tsconfig冲突。在项目根目录执行以下命令:ts-node --project ./tsconfig.json test/tests.ts一定要确保在项目根目录下执行,否则路径会出错,导致依赖找不到。
补全测试框架的依赖
如果上面的步骤还是报错,可能是测试相关的开发依赖没装全。这个项目用的是mocha测试框架,你可以手动安装所需依赖:npm install --save-dev mocha @types/mocha ts-node typescript检查Node.js版本是否符合要求
有些开源项目对Node.js版本有最低要求,你可以查看package.json里的engines字段,比如如果写了"node": ">=14.0.0",那你得确保自己的Node.js版本在14以上。用node -v就能查看当前版本,版本不够的话就升级一下Node.js。确认运行路径正确
别跑到test目录下去执行ts-node tests.ts,这样会导致Node.js找不到项目根目录下的依赖模块,必须在项目的根目录执行所有命令。
如果执行完这些步骤还是有具体的错误(比如模块找不到、语法报错等),可以把错误信息贴出来,能更精准地帮你定位问题。
内容的提问来源于stack exchange,提问作者satish

