简短版本:
如何启动Karma并让它在Karma起始页所在的浏览器中自动打开debug.html文件?
详细版本:
我不是一个使用控制台报告器的Karma的狂热爱好者,所以我一直使用karma-jasmine-html-reporter-livereload,它输出到Karma的localhost:9876/debug.html文件。问题是,每次我启动调试会话时,我都必须在Karma打开的网页中单击“debug”按钮。
我想找到一种方法,让karma通过一个gulp任务自动打开debug.html页面。我在多个浏览器中运行测试,所以我希望在Karma打开的每个浏览器中,debug.html页面都作为第二个选项卡打开。我还希望在karma关闭时,能够关闭debug.html选项卡。我尝试了很多方法,都没有成功。
这是我的gulp任务。“watch”任务监视我的源代码TypeScript文件,并将它们编译成javascript......没什么特别的。
gulp.task('watch-test', ['watch'], function (done) {
//start a livereload server so that the karma html
//reporter knows to reload whenever the scripts change
livereload.listen(35729);
gulp.watch('dist/src/**/*.js').on('change', livereload.changed);
new KarmaServer({
configFile: __dirname + '/karma.conf.js',
singleRun: false
}, done).start();
});
4条答案
按热度按时间sg2wtvxw1#
我发现了一种方法,使它永久,虽然它并不完美..您可以注入到上下文javascript:
并在文件中放入以下代码:
这将确保窗口仅在第一次运行测试时打开,并且仅在context.html中执行。
您可以在该块中添加任何所需的init代码。
wfsdck302#
您可以使用
customLauncher
浏览器定义:并在您的因果配置中使用此浏览器。
v64noz0r3#
我想不出一个优雅的方法来做这件事,所以这里有一个肮脏的,低下的,不好的,腐烂的,完全可耻的欺骗,但它的工作。
在node_modules〉karma〉static〉karma.js中,我添加了以下代码行:
在上下文中显示如下,从第366行开始(在版本0.13.19中):
好好享受吧。你这个叛逆的家伙。
svgewumm4#
可以将
client.clearContext
设置为false
,默认情况下为true
。请访问http://karma-runner.github.io/6.4/config/configuration-file.html#clientclearcontext