[更新]

这篇文章的原标题是:“恶业,丢失数据”,代表心灵文字游戏,更多是为了花言巧语,而不是真实的事实。 所以我决定改变它,为了正确和礼貌。

[更新]

你好,我有一个非常经典的程序目录结构:

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 个空包并收到错误消息“文件加载或预处理期间出错 TypeError:输出不可迭代”。

所以我无法正确测试我的程序。

发生了什么以及如何解决?

谢谢回复,问候。

#1楼 票数:0

查看您的模块加载器,我建议在运行测试之前使用 karma 插件(如karma-rollup-preprocessor来捆绑您的模块。 这将正确捆绑和连接您的模块以进行测试。

而且您不需要在 files 数组下指定所有文件。

files: [
    'test/**/*.js'
],

  ask by Hefeust translate from so

未解决问题?本站智能推荐:

1回复

业力配置以排除嵌套目录

我正在使用业力对我的angular 2应用程序进行单元测试。 我有以下目录结构- 我想排除我下的所有文件 从覆盖率报告中。 但我想保留目录其余部分中的所有文件 我试过了, 但是它跳过了一切。 这该怎么做? 参考-https: //github.com/karma-ru
1回复

如何使用业力运行基本测试(Testacular)

我最近一直在与茉莉花玩耍,以便开始将测试合并到我的项目中。 在我想使用业力(以前是业力)使工作流程自动化之前,一切似乎都运转良好。 在我的src目录中,我有一个简单的Calculator Object和一些简单的方法:function Calculator(){}; var curre
1回复

业力测试。在IT区块内看不到

我在运行业力测试时遇到问题。 当我“因果报应”时,它说“已成功执行0次,共0次成功”,但是我已经进行了测试。 业力只是看不见他们。 但是它运行文件,因为它位于describe块内部。 任何想法,这可能导致什么? 这是我的业力会议。 这是我的要求
1回复

业力-首先从目录加载文件

我的业力文件配置: 我在scripts目录和app.js下有4个目录。 我需要最后加载app.js (因为它取决于其他脚本)。 有什么办法可以确保这一点?
1回复

为什么我通过业力测试获得404访问此文件

MCVE 在这个 github repo 。 我正在开发一个在加载时读取清单文件的 javascript 应用程序。 我希望能够测试该功能是否有效。 我有这个测试功能: 我正在测试的功能如下所示: 业力的输出是: 我收到 404 - 但“ls /Users/joepublic/MCVE/manif
1回复

未定义提供需求的业力设置

我是在这里设置业力和测试的新手,所以我一直在研究许多示例来设置环境。 但是,每当我运行karma start ,它都会给我以下信息: 我想我可能没有正确设置karma.conf.js ,有人知道吗? 这就是我所拥有的: 我有这样的文件结构: 我的person.js文件是这样的:
1回复

业力在Redux中测试未定义的Promise

我在Karma中为react / redux编写了一些测试,但似乎无法修复此错误。 每次运行测试时,它将运行该操作,并将正确的值发送给reducer,但是我似乎总是得到未定义的响应返回。 我们控制台记录了所有值,直到更新状态为止,但是一旦执行此行: 我们得到未定义的.then。 这可能
1回复

vue2,打字稿,摩卡和业力的代码覆盖率

我们将Vue 2与Typescript和webpack 3结合使用。Vuex用于状态管理。 我们的测试是与Karma以及Mocha,Sinn,Expect和Avoriaz一起运行的。 一切正常,但是我尝试使用Istanbul进行代码覆盖,以更好地可视化表示缺少的测试。 文件夹结构的小表示