标签:javascript node-js gulp debugging karma-runner
简短版本:
如何启动Karma并让它在与Karma启动页面相同的浏览器中自动打开debug.html文件?
长版:
我不是使用控制台记录器为Karma的忠实粉丝,所以我一直在使用karma-jasmine-html-reporter-livereload输出到Karma的localhost:9876 / debug.html文件.问题是,每次我开始调试会话时,我都必须单击业力打开的网页中的“调试”按钮.
我想找到一种方法让业力通过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();
});
解决方法:
我发现了一种使它永久化的方法虽然它并不完美..你可以在上下文中注入一个javascript:
files: [
"test/init.js",
...
]
并在文件中放入此代码:
(function (window) {
if (!window.parent.initDone && window.location.pathname === '/context.html') {
window.parent.initDone = true;
window.open('/debug.html', '_blank');
}
})(window)
这将确保窗口仅在第一次运行测试时打开,并且仅在context.html中执行.
您可以在该块中添加任何所需的初始化代码.
标签:javascript,node-js,gulp,debugging,karma-runner 来源: https://codeday.me/bug/20191006/1860620.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。