玩笑+打字稿+ es6模块(再次,2019)-SyntaxError:意外的令牌导出

Ant*_*yak 6 javascript typescript jestjs babel-jest

我仍然在尝试使用jest,typescript和es6模块时遇到问题。我的测试是用Typescript编写的,我正在尝试从使用es6模块的js文件中导入对象。为此,我遵循了jest文档,并在位于项目根目录下的babel.config.js中包含以下内容:

module.exports = {
presets: [
    [
        '@babel/preset-env',
        {
            targets: {
                node: 'current'
            }
        }
    ]
]
Run Code Online (Sandbox Code Playgroud)

};

我安装了以下依赖项:

"devDependencies": {
  "@babel/core": "^7.2.2",
  "@babel/preset-env": "^7.3.1",
  "@types/jest": "^23.3.13",
  "@types/node": "^10.12.18",
  "babel-jest": "^24.1.0",
  "jest": "^23.6.0",
  "rollup": "^1.1.2",
  "rollup-plugin-terser": "^4.0.4",
  "rollup-plugin-typescript2": "^0.19.2",
  "ts-jest": "^23.10.5",
  "ts-node": "^8.0.1",
  "typescript": "^3.2.4"
}
Run Code Online (Sandbox Code Playgroud)

在jest.config.js中,我有以下内容:

module.exports = {
verbose: true,
transform: {
    "^.+\\.jsx?$": "babel-jest",
    '^.+\\.ts?$': 'ts-jest'
},
testEnvironment: 'node',
testRegex: '/test/.*\\.(test|spec)?\\.(ts|tsx)$',
moduleFileExtensions: ['ts', 'tsx', 'js', 'jsx', 'json', 'node']
};
Run Code Online (Sandbox Code Playgroud)

最后,我想在测试中像这样导入:

import {Dag, Directions} from "../dist/dag";
Run Code Online (Sandbox Code Playgroud)

它说:SyntaxError:意外的令牌导出

D:\devel\tomtom_dag\dist\dag.js:72
}();export { e as Directions, t as Action, n as Dag };
Run Code Online (Sandbox Code Playgroud)

有人可以说我在做什么错或指向具有类似配置的项目吗?是的,我已经一派这几个小时,已经从试图解决方案在这里在这里,并试图用这个插件-同样的结果=(

更新: 我已经创建了一个项目来重现该问题:https : //github.com/AntonPilyak/jest_typescript_es6 另外,我注意到我已经忘记提及由于ts-我试图使用jest @ 23版本了。开玩笑不能与最新版本一起使用(发出警告+我得到了一个空的测试套件)。也许,我的问题是从这个事实中解决的。但是,我仍然无法进行适当的配置:如果使用最新的玩笑,我会得到警告+玩笑说测试套件为空,并且测试通过了,但没有通过。

Ant*_*yak 1

它适用于 ts-jest 24 + 这似乎是我的 IDE 中的一个错误:https://youtrack.jetbrains.com/issue/IDEA-207553