javascript - JS : karma rollup empty bundle

标签 javascript testing karma-runner rollupjs

[更新]

这篇文章的原始标题是:“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/

相关文章:

php - 如何发送 facebook 按钮当前 href

javascript - 禁用 html datepicker jquery 中的特定日期

Angular 4使用窗口单元测试代码

javascript - 是否可以在 karma 测试期间禁用 firefox 错误消息

javascript - karma : Cannot find module in relative path

javascript - 当内部 div 的位置在 Firefox 中固定时,鼠标事件不会在 body 上触发

java - 我如何使用maven作为构建工具将测试报告复制到不同的目录

javascript - 如何为特殊测试用例编写可测试代码

javascript - gulp karma 测试 TypeError : Server is not a function

javascript - 排序在javascript中有连字符的数组