我有一个 hello.js
包含 console.log
:
const $ = window。$;
console.log('------------加载hello.js -----------------');
函数hello(html){
返回$(html).text()
}
测试文件:
describe('hello',function(){
它(“应使用jquery来获取某些html代码的文本”,函数(){
console.log('--------- console.log内部测试---------------');
Expect(hello(' JQuery '))。toBe('JQuery')
})
});
我使用karma +茉莉花进行测试, karma.conf.js
:
module.exports = function(config){
config.set({
logLevel:config.LOG_LOG,
框架:['jasmine'],
文件:[
'./node_modules/jquery/dist/jquery.js',
'src / **。js'
],
记者:['进步'],
浏览器:['ChromeHeadless'],
插件:[
“业力铬发射器”,
茉莉花
],
客户:{
captureConsole:true
},
browserConsoleLogOptions:{
级别:“日志”
},
});
};
我希望在运行测试时,可以从某处看到日志。我做了我可以配置的任何事情,但是看不到。
输出:
<代码> 2018年10月1日23:06:59.291:WARN [karma]:未捕获浏览器,打开http:// localhost:9877 / 2018年10月1日23:06:59.299:INFO [karma]:Karma v3.0.0服务器从http://0.0.0.0:9877/启动 2018年10月1日23:06:59.300:INFO [启动器]:启动浏览器ChromeHeadless并发 2018年10月1日23:06:59.309:INFO [启动器]:启动浏览器ChromeHeadless 2018年10月1日23:06:59.715:INFO [HeadlessChrome 0.0.0(Mac OS X 10.13.3)]:连接在ID为44722210的O9-CJOOGs9L_DnMiAAAA套接字上 日志:'--------- console.log内部测试---------------' HeadlessChrome 0.0.0(Mac OS X 10.13.3):执行1的1成功(0.003秒/0.004秒) 总计:1成功
您只能看到测试内的 console.log
。
有什么方法可以在 hello.js
(外部测试)中捕获 console.log
?
针对此问题的完整的小型演示项目: https://github.com/freewind-demos/javascript-karma-jasmine-capture-console-log-when-loading-demo