тест мокко не распознает объявления * .d.ts - PullRequest
0 голосов
/ 26 октября 2019

У меня проблема с настройкой mocha для поддержки моего машинописного кода. У меня есть некоторые типы, определенные в global.d.ts, помещенном в папку src корня проекта.

Когда я запускаю mocha -r ts-node/register test/**/*.ts, я получаю следующие ошибки:

TSError: ⨯ Unable to compile TypeScript:
src/mediator/index.ts:5:28 - error TS2304: Cannot find name 'DomainEvent'.

5     [key: string]: (event: DomainEvent) => Promise<void>
                             ~~~~~~~~~~~
src/mediator/index.ts:11:57 - error TS2304: Cannot find name 'DomainEvent'.

11     registerHandler(eventType: string, handler: (event: DomainEvent) => Promise<void>) {
                                                           ~~~~~~~~~~~
src/mediator/index.ts:18:37 - error TS2304: Cannot find name 'IntegrationEvent'.

18     async publish(integrationEvent: IntegrationEvent) {

КогдаЯ запускаю ts-node ./src/app.ts приложение работает нормально. Кто-нибудь знает, что я делаю неправильно?

Мой tsconfig (я подозреваю, что проблема связана с этим):

{
    "compilerOptions": {
        "module": "commonjs",
        "esModuleInterop": true,
        "allowSyntheticDefaultImports": true,
        "target": "es6",
        "noImplicitAny": false,
        "moduleResolution": "node",
        "sourceMap": true,
        "outDir": "dist",
        "baseUrl": ".",
        "paths": {
            "@mediator": ["src/mediator"],
            "*": [
                "node_modules/*"
            ]
        },
        "typeRoots": [
            "./global"
        ]
    },
    "include": [
        "**/*.ts"
    ]
}

1 Ответ

0 голосов
/ 26 октября 2019

включает ваш global.d.ts в tsconfig.json:

{
  "compilerOptions": {
  },
  "include": [
    "./global.d.ts",
    "./src/**/*.d.ts"
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...