本質
獲得玩笑發揮好與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