本质
获得玩笑发挥好与JSPM/SystemJS您运行的应用程序需要“教”它关于它保存在config.js文件中的所有映射(或者你调用System。配置())
的长的答复是,你需要为你已经安装了JSPM这样每个相关的条目:
//jest configuration
moduleNameMapper: {
...
"^redux$": "[email protected]",
...
}
你有每个别名,你至少需要一个项:
moduleNameMapper: {
...
"^common\\/(.*)": "<rootDir>/src/common/$1", //for a dir alias
"^actions$": "<rootDir>/src/actions/index", //for a file alias
...
}
你还需要在你的nodeNameMapper有这些映射:
moduleNameMapper: {
...
"^npm:(.*)": "<rootDir>/jspm_packages/npm/$1",
"^github:(.*)": "<rootDir>/jspm_packages/github/$1",
...
}
最后,你需要有这个moduleDirectories配置:
moduleDirectories: ["node_modules", "jspm_packages/npm", "jspm_packages/github"]
这个心不是真的实用,因为你不想让你的所有依赖注册表的两个副本,并有当他们改变它们同步...
所以短和更好答案,你用我的gulp-jest-jspm插件:)
即使你不使用gulp,你也可以使用它的getJestConfig()方法在你运行Jest之前为你生成配置。附件号码:
PS。我试图理解如何使它工作,所以如果我在做错错误,请告诉我什么! – nemenos
你有没有找到解决方案? – user5325596
我不再使用笑话了。转换到简单的茉莉花。有了Jasmine,karma,jspm karma插件,我可以运行单元测试,但是当我想要模拟依赖关系时仍然存在一些麻烦,但是我认为我应该多学习一下systemjs,并且当我有时间时,我应该设法做到这一点。 .. – nemenos