首页 > 解决方案 > 如何使用 ndb(在 karma-electron 中运行)调试业力测试?

问题描述

我让 Karma 使用 Electron 运行测试。我想打开 devtools,这样我就可以逐步完成单元测试代码。

我尝试使用ndb

ndb ./node_modules/.bin/karma ...args...

但是在 devtools 窗口打开后,没有运行,没有源文件,没有任何暂停。

我的 Karma 配置如下所示:

module.exports = function(config) {

    config.set({

        frameworks: ['jasmine', 'stacktrace'],
        reporters: ['spec'],
        port: 9876,  // karma web server port
        colors: true,
        logLevel: config.LOG_INFO,
        autoWatch: false,
        // singleRun: false,
        concurrency: Infinity,

        basePath: CWD,

        browsers: ['Electron'],
        files: [
            '.karma-test-build/**/*.js',
        ],
        preprocessors: {
            '.karma-test-build/**/*.js': ['electron'],
        },
        client: {
            // otherwise "require is not defined"
            useIframe: false,
            loadScriptsViaRequire: true,
        },

    })

}

也可以在这里找到

知道如何使用它ndb来调试在 Karma 中运行的测试吗?

标签: javascriptnode.jselectrongoogle-chrome-devtoolskarma-runner

解决方案


我无法找到是否有办法使用 ndb 使用 Electron 测试 Karma,但我确实发现制作一个扩展 karma-electron 的启动器的自定义启动器允许我们通过该--show选项,如这个 karma-electron 所示GitHub 上的问题:https ://github.com/twolfson/karma-electron/issues/18 ,然后我们可以在打开的窗口中点击“调试”按钮,然后我们可以在 Electron 窗口中打开 devtools调试测试。开发工具打开后,我们需要刷新页面以强制测试再次运行(这样它将在断点或调试器行处停止)。


推荐阅读