我已经使用mocha测试+ istanbul覆盖进行了typescript + babel(stage-1 + react)项目的设置。
 Mocha以这种方式配置:webpack使用istanbul-instrumenter在tmp目录中构建commonjs包装载机。入口点是与 ./**/*。spec。(t | j)sx?
,jsx匹配的文件?加载器看起来像:
加载器:[
 '伊斯坦布尔-instrumenter装载机',
 “源映射装载机”,
 'babel-loader',
],



 其中 source-map-loader
是我的将传递给加载器的sourceMap写入每个包文件的 [文件基本名称] .map
(例如 app.js.map
)文件的模块。构建完成后,我为mocha运行gulp任务,将所有这些包添加到mocha runner,开始测试,然后收集覆盖信息。
昨天我找到了remap-istanbul项目,并尝试配置它。您可以查看覆盖率报告模块,其中重新添加了此处。
此输出总是很糟糕:
&#XA;&#XA;<代码> /app/node_modules/istanbul/lib/store/memory.js:38 抛出新错误('无法找到['+ key +']'的条目);&#xA; ^&#xA;&#xA;错误:无法找到[src / actions / appointmentments.js]&#xA;的条目在MemoryStore.Store.mix.get(/app/node_modules/istanbul/lib/store/memory.js:38:19) 在HtmlReport.Report.mix.writeDetailPage(/app/node_modules/istanbul/lib/report/html.js:411:67) at /app/node_modules/istanbul/lib/report/html.js:489:26 在SyncFileWriter.extend.writeFile(/app/node_modules/istanbul/lib/util/file-writer.js:57:9) 在FileWriter.extend.writeFile(/app/node_modules/istanbul/lib/util/file-writer.js:147:23) 在/app/node_modules/istanbul/lib/report/html.js:488:24 在Array.forEach(native)&#xA;在HtmlReport.Report.mix.writeFiles(/app/node_modules/istanbul/lib/report/html.js:482:23) at /app/node_modules/istanbul/lib/report/html.js:484:22 在Array.forEach(native)&#xA;&#xA;&#xA;
我尝试调试测试运行和覆盖率集合,但无法弄清楚它为什么会破坏文件路径,我想这是因为webpack的源图。
&#xA;