我让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,
},
})
}
也可用here。
知道如何使用ndb
调试Karma内部运行的测试吗?
我无法找到是否有办法用电子使用ndb测试Karma,但我发现的是制作一个扩展karma-electron发射器的自定义发射器允许我们通过--show
选项,如此业力所示 - GitHub上的电子问题:https://github.com/twolfson/karma-electron/issues/18,它允许我们点击打开的窗口中的“Debug”按钮,然后我们可以打开Electron窗口内的devtools来调试测试。在devtools打开之后,我们需要刷新页面以强制测试再次运行(这样它将在断点或调试器行上停止)。