【问题标题】:How do I run a test file using ts-node?如何使用 ts-node 运行测试文件?
【发布时间】:2018-03-05 06:20:16
【问题描述】:

作为 node 和 ts-node 的新手,我正在努力弄清楚如何从这个开源项目运行测试——https://github.com/pocesar/node-stratum(它们是 .ts 文件)。我安装了“typescript”和“ts-node”...

localhost:node-stratum satishp$ npm install -g typescript
/usr/local/bin/tsc -> /usr/local/lib/node_modules/typescript/bin/tsc
/usr/local/bin/tsserver -> /usr/local/lib/node_modules/typescript/bin/tsserver
+ typescript@2.7.2
added 1 package in 2.974s


localhost:node-stratum satishp$ npm install -g ts-node
/usr/local/bin/ts-node -> /usr/local/lib/node_modules/ts-node/dist/bin.js
+ ts-node@5.0.1
added 17 packages in 1.596s

但是当我去运行位于“test/tests.ts”目录中的测试时,我得到以下错误

localhost:node-stratum satishp$ ts-node test/tests.ts
Error: Cannot find module '../lib'
    at Function.Module._resolveFilename (module.js:555:15)
    at Function.Module._load (module.js:482:25)
    at Module.require (module.js:604:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/Users/satishp/Documents/workspace/node-stratum/test/tests.ts:3:1)
    at Module._compile (module.js:660:30)
    at Module.m._compile (/usr/local/lib/node_modules/ts-node/src/index.ts:400:23)
    at Module._extensions..js (module.js:671:10)
    at Object.require.extensions.(anonymous function) [as .ts] (/usr/local/lib/node_modules/ts-node/src/index.ts:403:12)
    at Module.load (module.js:573:32)

我还需要做些什么才能让测试文件正常运行吗?

【问题讨论】:

    标签: node.js typescript testing ts-node


    【解决方案1】:

    经过一些研究,您应该这样做:

    • 克隆 repo(我假设你已经这样做了,这里只是为了完整起见)
    • 在克隆的文件夹中运行npm install。这样,您将拥有项目的所有特定包版本。
    • 运行tsc 将源文件编译到lib 文件夹中。忽略类型错误;代码应该仍然可以编译。
    • 运行tsc -p tests.json 编译测试文件,它使用tests.json 文件作为tsconfig。同样,忽略类型错误。
    • 运行mocha test 以实际运行已编译文件的测试。

    为了加快工作流程,请在单独的命令行实例中运行 tsc -wtsc -p tests.json -w,以便自动编译文件。

    然后在第三种情况下,您可以运行mocha test -w 来运行编译测试。但是,运行测试的错误之一会导致 mocha 失败,因此您必须先修复该问题,然后才能在手表模式下运行 mocha。

    项目没有花时间修复许多类型错误,也没有提供任何有关运行测试的适当文档,这无济于事,所以我建议在 GitHub 上提出问题,以便作者注意.

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-01-10
      • 2012-11-16
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 1970-01-01
      • 2022-07-23
      • 1970-01-01
      相关资源
      最近更新 更多