Javascript Karma+Webpack+Angularjs-所有测试均通过,但Karma错误,退出代码1

Javascript Karma+Webpack+Angularjs-所有测试均通过,但Karma错误,退出代码1,javascript,angularjs,webpack,karma-jasmine,Javascript,Angularjs,Webpack,Karma Jasmine,karma 4.0.1,网页包4.31.0,angular 1.6.8,karma jasmine 2.0.1,jasmine core 3.4.0 在工作中,我刚刚将我们的angularjs应用程序从一个老式的构建过程转换为webpack+es6。除了一些头痛和打嗝,整个过程进展顺利。直到现在 Karma成功运行了我的所有测试,所有测试都通过了,但是Karma退出时代码为1,并抛出一个没有文件名或行号的错误进行调查 我已经在谷歌上搜索了两天,尝试了很多不同的东西,但迄今为止都没有成功。感谢您的

karma 4.0.1,网页包4.31.0,angular 1.6.8,karma jasmine 2.0.1,jasmine core 3.4.0

在工作中,我刚刚将我们的angularjs应用程序从一个老式的构建过程转换为webpack+es6。除了一些头痛和打嗝,整个过程进展顺利。直到现在

Karma成功运行了我的所有测试,所有测试都通过了,但是Karma退出时代码为1,并抛出一个没有文件名或行号的错误进行调查

我已经在谷歌上搜索了两天,尝试了很多不同的东西,但迄今为止都没有成功。感谢您的帮助

14 05 2019 13:27:49.456:INFO[卡玛服务器]:卡玛v4.0.1服务器于启动http://0.0.0.0:10002/ 14 05 2019 13:27:49.457:INFO[launcher]:启动浏览器ChromeHeadless-C,并发不受限制 14 05 2019 13:27:49.528:信息[启动器]:启动浏览器ChromeHeadless 14 05 2019 13:27:50.081:INFO[HeadlessChrome 74.0.3729 Mac OS X 10.14.4]:连接在id为50392440的插座U30VLDHr805gOx4vAAAA上 无头Chrome 74.0.3729 Mac OS X 10.14.4错误 { 消息:发生错误\n语法错误:意外字符串, str:最后抛出了一个错误\n语法错误:意外字符串 } 无头Chrome 74.0.3729 Mac OS X 10.14.4:1964年执行,共1964年错误11.787秒/0秒 npm debug.log 0信息如果以“确定”结尾,则有效 1 verbose cli['/Users/riegersn/.nvm/versions/node/v8.9.4/bin/node', 1 verbose cli'/Users/riegersn/.nvm/versions/node/v8.9.4/bin/npm', 1详细cli“运行”, 1详细cli“测试”] 2信息使用npm@6.5.0 3信息使用node@v8.9.4 4详细的运行脚本[‘预测试’、‘测试’、‘后测试’] 5信息生命周期vpower-ui@4.9.0~pretest:vpower-ui@4.9.0 6信息生命周期vpower-ui@4.9.0~test:vpower-ui@4.9.0 7详细的生命周期vpower-ui@4.9.0~test:生命周期中的不安全烫发为true 8详细的生命周期vpower-ui@4.9.0~test:PATH:/Users/riegersn/.nvm/versions/node/v8.9.4/lib/node\u modules/npm/node\u modules/npm lifecycle/node gyp bin:/Users/riegersn/vesi/vpower ui/node\u modules/.bin:/Users/riegersn/.nvm/versions/node/v8.9.4/bin:/usr/local/bin:/usr/bin:/bin:/usr/bin:/usr/sbin:/sbin:/sbin 9详细的生命周期vpower-ui@4.9.0~test:CWD:/Users/riegersn/vesi/vpower用户界面 10%的功率-ui@4.9.0~test:Args:['-c','karma start'] 11.生命周期功率-ui@4.9.0~test:返回:代码:1信号:null 12信息生命周期vpower-ui@4.9.0~test:无法执行测试脚本 13详细堆栈错误:vpower-ui@4.9.0测试:`业力开始` 13详细堆栈退出状态1 13 EventEmitter上的详细堆栈/Users/riegersn/.nvm/versions/node/v8.9.4/lib/node_modules/npm/node_modules/npm lifecycle/index.js:301:16 13两个事件处的详细堆栈。js:126:13 13 EventEmitter.emit events.js处的详细堆栈:214:7 13子进程上的详细堆栈/Users/riegersn/.nvm/versions/node/v8.9.4/lib/node_modules/npm/node_modules/npm lifecycle/lib/spawn.js:55:14 13两个事件处的详细堆栈。js:126:13 13 ChildProcess.emit events.js处的详细堆栈:214:7 13 maybeClose内部/child_进程的详细堆栈。js:925:16 13 Process.ChildProcess.\u handle.onexit internal/child\u Process.js:209:5处的详细堆栈 14冗余pkgid vpower-ui@4.9.0 15详细的cwd/Users/riegersn/vesi/vpower用户界面 16详细达尔文18.5.0 17详细argv/Users/riegersn/.nvm/versions/node/v8.9.4/bin/node/Users/riegersn/.nvm/versions/node/v8.9.4/bin/npm运行测试 18详细节点v8.9.4 19详细的npm v6.5.0 20错误代码ELIFECYCLE 21错误1 22错误功率-ui@4.9.0测试:`业力开始` 22错误退出状态1 23在vpower上出现错误-ui@4.9.0测试脚本。 23错误这可能不是npm的问题。上面可能还有其他日志输出。 24详细退出[1,true] karma.conf.js var webpackConfig=require./webpack.config.js'{development:true}; module.exports=函数配置{ config.set{ 基本路径:'./', 框架:['jasmine'], 档案:[ “./app/init.js”, “./node_modules/angular mocks/angular mocks.js”, “./test/lib/***.js”, “./test/mock/***.js”, “./app/***/.mock.js”, “./app/***/.spec.js” ], webpack:webpackConfig, 记者:[进展],, 预处理器:{ “./app/init.js”:“webpack” }, 港口:9999, browserNoActivityTimeout:60000, 日志级别:config.LOG\u INFO, 自动观察:错误, singleRun:是的, 浏览器:['ChromeHeadless-C'], 自定义启动器:{ “无铬C”:{ 碱:“无铬”, 标志:['-禁用web安全'] }, “铬-C”:{ 基地:'铬', 标志:['-disable translate','-disable extensions','-disable web security'] } }, 插件:[ “因果报应茉莉花”, “因果报应网页”, “卡玛铬发射器”, //“karma sourcemap loader” ], 客户:{ 茉莉花:{ 随机:假 } } }; }; webpack.config.js const webpack=需要“webpack”; 常量路径=要求“路径”; const vpowerHost=require'/tools/vpowerHost'; const CopyPlugin=需要“copy-webpack-plugin”; const Autoprefixer=需要“Autoprefixer”; const UglifyJsPlugin=需要'uglifyjs-webpack-plugin'; const HtmlWebpackPlugin=require'html-webpack-plugin'; const MiniCssExtractPlugin=需要“mini-css-extract-plugin”; const optimizecssassetstplugin=需要'optimize-css-assets-webpack-plugin'; const BundleAnalyzerPlugin=需要'webpack-bundle-analyzer'。BundleAnalyzerPlugin; 常量日志=函数{ console.log'webpack-config::',…参数; }; module.exports=env=>{ const HOST=vpowerHostprocess.env.NODE_env; 日志'host->',host; 日志'buildmode->',env.production'production':'development'; 让配置={ 上下文:path.resolve\uuu dirname,“app”, 条目:'./init.js', 输出:{ 路径:path.resolve__dirname,“dist”, 文件名:'[name].js' }, 决心:{ 别名:{ “@Products”:path.resolve__dirname,“app/Products/”, “@Components”:path.resolve__dirname,“app/shared/Components/”, “@Controllers”:path.resolve__dirname,“app/shared/Controllers/”, “@Direcctives”:path.resolve__dirname,'app/shared/directives/”, “@Filters”:path.resolve__dirname,'app/shared/Filters/”, “@Modals”:path.resolve__dirname,'app/shared/Modals/”, “@Models”:path.resolve__dirname,'app/shared/Models/”, “@Services”:path.resolve__dirname,“app/shared/Services/”, “@Views”:path.resolve\u dirname,“app/shared/Views/” } }, 模块:{ 规则:[ { 测试:require.resolve'jquery', 加载器:“公开加载器?jQuery!公开加载器?$” }, { 测试:要求。解决“时刻”, 加载器:“暴露加载器?瞬间” }, { 测试:/\.js$/,, 加载器:“巴别塔加载器”, 包括:path.resolve__dirname,“app”, 排除:/node_模块/, 选项:{ 预设:['@babel/preset env'] } }, { 测试:/\.html$/,, 加载器:“html加载器”, 包括:path.resolve__dirname,“app”, 选项:{ root:path.resolve\uuu dirname,“资产”, 属性:['img:src'], 尽量减少:环境生产, 移除元素:环境生产, collapseWhitespace:env.production } }, { 测试:/\.css$/,, 用法:[env.production?MiniCssExtractPlugin.loader:'style loader','css loader'] }, { 测试:/\.scss$/,, 使用:[ env.production?MiniCssExtractPlugin.loader:“样式加载器”, “css加载程序”, { 加载器:“postss加载器”, 选项:{ 插件:=>[Autoprefixer] } }, “sass loader” ] }, { 测试:/\.png | jpe?g | svg$/,, 加载器:“文件加载器”, 选项:{ 限额:8000, 名称:'images/[name].[ext]' } }, { 测试:/\.jpg | png | gif | svg$/,, 加载器:“图像网页包加载器”, 强制执行:“预” }, { 测试:/\.woff | woff2 | eot | ttf$/,, 加载器:“文件加载器?限制=100000”, 选项:{ 名称:'fonts/[name].[ext]' } } ] }, 插件:[ 新网页包。IgnorePlugin/^\.\/locale$/,/moment$/, 新CopyPlugin[ { 发件人:_dirname+'/assets/json', 收件人:_dirname+'/dist/json' }, { 发件人:uuu dirname+'/node_modules/amcharts src/amcharts/plugins/export/libs', 收件人:_dirname+'/dist/amcharts/libs' }, { 发件人:迪尔南 e+'/node_modules/amcharts src/amcharts/images', 收件人:_dirname+'/dist/amcharts/images' } ], 新的MinicsSextract插件{ 文件名:'[name].css', chunkFilename:“[id].css” }, 新HtmlWebpackPlugin{ 模板:“index.html”, favicon:“../assets/images/favicon.ico”, 注:对 } ], 开发服务器:{ 主机:“localhost”, 港口:9000, 热:是的, 代理:{ “/isoneplc”:”http://localhost:9001', “/csv转换”:”http://localhost:9001' }, 允许主机:[ “.localhost”, “.localhost”, “.localhost”, “.localhost”, “.localhost”, “.localhost”, “.localhost” ] } }; config.mode=env.production?“生产:"发展",; 如果环境生产{ 记录“添加源映射”; 记录“添加优化”; config.devtool='源映射'; config.optimization={ 最小值:[ 新的UglifyJsPlugin{ 平行:对 }, 新的OptimizeCSSAssetsPlugin{ CSSP处理器插头操作:{ 预设:['default',{discardComments:{removeAll:true}] } } ], 分割块:{ 区块:“全部” } }; config.plugins.pushnew bundle分析插件插件; }否则,如果env.production&&HOST=='.com'{ config.devtool='源映射'; 记录“添加源映射”; } 返回配置; };
在对karms进行了一些调试之后-jasmine@2.0.1在lib/adapter.js:170中,我能够在处理结果对象之前将其打印出来。对象包含错误的文件名和行号,运行测试时未提供这些信息


罪魁祸首是一个es6 js文件,该文件未被webpack处理,浏览器遇到一些es6代码,不知道如何处理。这个文件实际上是不需要的,所以一旦我删除了它,这个问题就解决了。

错误是自我解释的-毕竟在所有测试之后都会执行错误。它实际上不是自我解释的,没有文件名,没有行号,没有跟踪。更不用说我没有在任何测试中使用。