将Mocha与TypeScript路径一起使用

时间:2017-08-31 17:07:55

标签: typescript testing path compilation mocha

我在使用TypeScript中的路径+ baseUrl配置时遇到运行mocha的问题

我的tsconfig.js设置如下:

"baseUrl": "./src/", /* Base directory to resolve non-absolute module names. */
"paths": {
  "interfaces/*": [
    "interfaces/*"
  ],
  "models/*": [
    "models/*"
  ],
  "schemas/*": [
    "schemas/*"
  ],
  "classes/*": [
    "classes/*"
  ],
  "libs/*": [
    "libs/*"
  ],
  "config/*": [
    "config/*"
  ]

我正在使用mocha作为" mocha build / test"

编译后的TS代码无法找到我的引用,因为它编译为

var user_1 = require("interfaces/user");

如果我添加" ../"事先它会编译没有问题

我在这里做错了什么想法?

3 个答案:

答案 0 :(得分:3)

您应该使用mocha-TypeScript集成包,例如ts-mocha

答案 1 :(得分:1)

您可以使用 tsconfig-paths,请按照 tsconfig-paths 上的说明进行操作:

mocha -r ts-node/register -r tsconfig-paths/register "test/**/*.ts"

答案 2 :(得分:0)

您应该使用普通的测试集成软件包(最受欢迎的软件包)。例如moch-typescript。 这样,您只需要在package.json

中进行测试即可设置
script: 'mocha --ui mocha-typescript test.ts'

https://www.npmjs.com/package/mocha-typescript

我会给你一个更好的例子-test.ts

import { suite, test, slow, timeout } from "mocha-typescript";
@suite class Hello {
    @test world() {
        assert.equal(1, 2, "Expected one to equal two.");
    }
}