0

正常运行项目并在 Jest 中运行时,我无法使我的代码工作。

运行项目需要 dayjs 的这种导入:

import * as dayjs from 'dayjs';
import * as utc from 'dayjs/plugin/utc';
import * as customParseFormat  from 'dayjs/plugin/customParseFormat';

npm run dev (nodemon --exec ./node_modules/.bin/ts-node ./src/app.ts):没有问题

笑话: TypeError: t is not a function

运行 Jest 测试需要对 dayjs 进行这种导入:

import dayjs from 'dayjs';
import utc from 'dayjs/plugin/utc';
import customParseFormat  from 'dayjs/plugin/customParseFormat';

npm 运行开发(nodemon --exec ./node_modules/.bin/ts-node ./src/app.ts):

dayjs.extend(utc);
      ^
TypeError: Cannot read property 'extend' of undefined`

开玩笑:成功!

所以现在我不可能写测试。为什么它的转译方式不同?

4

2 回答 2

0

In my case,

tsconfig.json

{
  "compilerOptions": {
    "esModuleInterop": true
  }
}

solved it.

于 2021-01-01T05:48:33.493 回答
0

我切换到ts-jest,它解决了我的问题。我假设我可以编写 JS 测试来测试 TS 代码,但我认为这是不可能的。

于 2020-10-02T10:12:42.293 回答