[更新]
这篇文章的原始标题是:“Bad karma, lost data”,代表头脑文字游戏,与其说是真实的事实,不如说是在押韵。所以为了正确和礼貌,我决定修改它。
[更新]
你好,我有一个非常经典的程序目录结构:
dist/
karam.conf.js
node_modules/
package.json
rollup.config.js
src/
fp/
list.js # imports maybe.js
matbe.js
test/
fp/
list.specs.js
maybe.specs.js
我正在尝试使用汇总预处理测试。我的 karma.conf.js 就像:
# karma.conf.js
const buble = require('@rollup/plugin-buble')
const resolve = require('@rollup/plugin-node-resolve').default
// console.log({ resolve })
module.exports = function(config) {
config.set({
basePath : '',
files: [
{
pattern: 'src/fp/*.js', watched: true
},{
pattern: 'test/fp/*.specs.js', watched: true
}
],
watch: true,
preprocessors: {
'src/fp/*.js': ['rollup2'],
'test/fp/*.specs.js': ['rollup2']
},
rollup2Preprocessor: {
output: {
name: 'fptest',
format: 'iife'
},
plugins: [
buble(),
resolve()
]
}
});
}
当我使用 npm 或从 CLI 使用“karma start --log-level debug”启动 karma 时,我得到 4 个空包并收到错误消息“文件加载或预处理期间出错 类型错误:输出不可迭代”。
所以我无法正确测试我的程序。
发生了什么以及如何解决?
感谢您的回复,问候。
最佳答案
查看您的模块加载器,我建议在运行测试之前使用像 karma-rollup-preprocessor
这样的 karma 插件来捆绑您的模块。这将正确地捆绑和连接您的模块以进行测试。
而且您不需要在文件数组下指定所有文件。
files: [
'test/**/*.js'
],
关于javascript - JS : karma rollup empty bundle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45702498/