问题标签 [gulp-karma]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - 配置 Karma 以在 Linux Jenkins 上使用全局 PhantomJS 安装
我正在尝试让我的 Karma 单元测试在远程 Jenkins 服务器上运行。此 Jenkins 服务器在 Linux 上运行,已安装旧版本的 PhantomJS 并在 env 中定义了 PHANTOMJS_BIN。我正在使用 gulp-karma 和 karma-phantomjs-launcher-nonet 包来运行 karma 测试。
然而,当 jenkins 触发 Karma 时,它似乎无法生成 PhantomJS。我收到以下错误:
[13:33:00] 启动 Karma 服务器... [32mINFO [karma]: [39mKarma v0.12.37 服务器在http://localhost:9876/启动[32mINFO [launcher]: [39mStarting browser PhantomJS [31mERROR [karma]: [39m{ [Error: spawn EACCES] code: 'EACCES', errno: 'EACCES', syscall: 'spawn' } 错误:在出口处产生 EACCES。 _errnoException (util.js:874:11) 在 ChildProcess.spawn (internal/child_process.js:298:11) 在 exports.spawn (child_process.js:339:9) 在 Object._execCommand (/appl/jenkins/workspace/ ps-lib/node_modules/karma/lib/launchers/process.js:63:21) 在 Object._start (/appl/jenkins/workspace/ps-lib/node_modules/karma-phantomjs-launcher-nonet/index.js: 40:10)在对象。(/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/launchers/process.js:14:10) 在emitOne (events.js:82:20) 在 Object.emit (events.js:169: 7) 在 Object.start (/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/launchers/base.js:40: 10) 在 /appl/jenkins/workspace/ps-lib/node_modules/karma/lib/launcher.js:88:15 在 Array.forEach (native) at [object Object].launch (/appl/jenkins/workspace/ps -lib/node_modules/karma/lib/launcher.js:40:11) 在 [object Object].invoke (/appl/jenkins/workspace/ps-lib/node_modules/karma/node_modules/di/lib/injector.js: 75:15)在服务器。(/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/server.js:62:18) 在 Server.g (events.js:260:16) 在 emitNone (events.js:72:20)在 Server.emit (events.js:166:7) 在 emitListeningNT (net.js:1260:10) 在 doNTCallback1 (node.js:430:9) 在 process._tickCallback (node.js:352:17) 在服务器上调用 (/appl/jenkins/workspace/ps-lib/node_modules/karma/node_modules/di/lib/injector.js:75:15)。(/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/server.js:62:18) 在 Server.g (events.js:260:16) 在 emitNone (events.js:72:20)在 Server.emit (events.js:166:7) 在 emitListeningNT (net.js:1260:10) 在 doNTCallback1 (node.js:430:9) 在 process._tickCallback (node.js:352:17) 在服务器上调用 (/appl/jenkins/workspace/ps-lib/node_modules/karma/node_modules/di/lib/injector.js:75:15)。(/appl/jenkins/workspace/ps-lib/node_modules/karma/lib/server.js:62:18) 在 Server.g (events.js:260:16) 在 emitNone (events.js:72:20)在 Server.emit (events.js:166:7) 在 emitListeningNT (net.js:1260:10) 在 doNTCallback1 (node.js:430:9) 在 process._tickCallback (node.js:352:17)
/appl/jenkins/workspace/ps-lib/tasks/test.js:15 抛出错误;^ 错误:在 ChildProcess 完成 (/appl/jenkins/workspace/ps-lib/node_modules/gulp-karma/index.js:56:30) 时,业力以代码 1 退出。(/appl/jenkins/workspace/ps-lib/node_modules/gulp-karma/index.js:82:7) 在 ChildProcess.emit (events.js:172:7) 的 emitTwo (events.js:87:13)在 Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
所以在我看来,由于授权原因,我的业力无法运行 PhantomJS,对吗?phantomjs 安装仍然是由用户 jenkins//jenkins 完成的,所以 jenkins 应该能够运行它,对吧?
typescript - 将 Karma 与 SystemJS、gulp 和 TypeScript 一起使用时出错
我是node.js
stack likenpm
等的新手gulp
。我之前写了一些 JavaScript 单元测试用例,现在想Karma
用作测试运行程序。但是,经过几次尝试,我现在完全迷失了。
首先,我有以下项目配置:
SystemJS
作为模块加载器。文件夹结构(为简洁起见省略了一些):
/li>
/li>karma.conf.js
但是,每当我这样做时karma start
,我都会出错Uncaught TypeError: Unexpected anonymous System.register call.
。有没有办法解决这个问题?
其他尝试:
- 根据https://github.com/karma-runner/gulp-karma尝试创建一个 gulp 任务。但是有同样的问题。
尝试使用
karma-systemjs
. 不同之karma.conf.js
处如下:在这种情况下,我得到了以下错误,尽管我已经安装了
/li>SystemJs
两者Babel
:
在这方面的任何帮助都会很棒。
node.js - npm 的“跳过失败的可选依赖项”是什么意思?
最新版本的 node 和 npm 导致运行 karma 出现问题。当我尝试安装 karma-cli 时npm i -g karma karma-cli
,我收到以下警告:
当我尝试运行时karma test
,出现以下错误:
我的配置规范如下:
节点版本: v4.3.0
NPM 版本: 3.7.3
我无法安装业力版本,我认为它没有正确安装在我的机器上。
angularjs - 在 AngularJS 上对 Parse.com 进行单元测试 Karma
我对AngularJs,Parse和Karma很陌生。这次我遇到的问题我没有在网上搜索类似的解决方案。所以我希望任何擅长这些部分的人都可以帮助我。为了使 Parse 可以在我的项目中运行,我从这个站点安装了 angular-parse-patch:https ://github.com/mcwebb/angular-parse-patch 然后它可以工作,我可以在我的项目中使用 Parse。但是,我现在正在进行单元测试,当我使用 Karma 测试包含 Parse 代码的控制器时。产生的错误。
我猜是因为 Karma 没有连接解析补丁的路径。
mocha.js - 未捕获的错误:尚未为上下文加载模块名称“lib/chai”:使用 require([])
我正在使用 karma-mocha ..我的 karma.conf 文件正在使用 karma-jasmine ...但不能使用 karma-mocha ....我的 karma.conf 文件:--
javascript - 手动触发 Karma 重新运行测试
我知道 Karma 有一个内置autoWatch
选项,可以在测试文件更改时重新运行我的测试:
有没有办法手动触发此重新运行?我希望能够更好地控制我的测试何时重新运行。
angularjs - 在 Angular + karma 中运行测试用例时出错
在运行测试用例时出现以下错误
控制器:LoginCtrl,测试应该有一个空的 loginUser 对象 FAILED minErr/<@D:/XAMPP/htdocs/abc/lib/angular/angular.js:68:12 loadModules/<@D:/XAMPP/htdocs/abc/lib /angular/angular.js:4385:15 forEach@D:/XAMPP/htdocs/abc/lib/angular/angular.js:336:11 loadModules@D:/XAMPP/htdocs/abc/lib/angular/angular.js :4346:5 createInjector@D:/XAMPP/htdocs/abc/lib/angular/angular.js:4272:11 workFn@D:/XAMPP/htdocs/abc/lib/angular-mocks/angular-mocks.js:2799 :44 angular.mock.inject@D:/XAMPP/htdocs/abc/lib/angular-mocks/angular-mocks.js:2779:30 @D:/XAMPP/htdocs/abc/tests/getStarted/login/loginCtrl。测试.js:19:5
登录测试 CTRL
业力会议
javascript - 如何用新版本的业力替换已弃用的 gulp-karma?
目前我在 JS 中使用 gulp-karma 进行单元测试,但当前版本已被弃用。如何替换此代码以便我可以使用推荐的新版本?
旧版本: var karma = require('gulp-karma');
新推荐版本(但不使用管道):
我指定我需要使用管道,但我总是遇到一些错误。
gulp - gulp karma 问题浏览器从不启动
我已经
node 4.4.3
npm 3.8.6
protractor: 3.2.2
安装了全局
gulp 3.9.1
安装和本地安装的链接
package.json
gulpfile.js
当我运行任务时,我得到的唯一反馈是
然后它永远等待
当我以“旧”方式运行任务时:
它工作正常
我确实有正确配置的 karma.conf.js。谢谢
javascript - 业力问题 Javascript import SyntaxError
我正在尝试运行此规范,但出现此错误: SyntaxError: import declarations may only appear at top level of a module
但正如你所见,我在顶部有导入,所以这可能还有另一个原因吗?
ng-form-builder.spec.js
ng-form-builder.js
控制台日志