问题标签 [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.

0 投票
0 回答
383 浏览

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]: [39mSta​​rting 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 应该能够运行它,对吧?

0 投票
0 回答
711 浏览

typescript - 将 Karma 与 SystemJS、gulp 和 TypeScript 一起使用时出错

我是node.jsstack likenpm等的新手gulp。我之前写了一些 JavaScript 单元测试用例,现在想Karma用作测试运行程序。但是,经过几次尝试,我现在完全迷失了。

首先,我有以下项目配置:

  • SystemJS作为模块加载器。
  • 文件夹结构(为简洁起见省略了一些):

    /li>
  • karma.conf.js

    /li>

但是,每当我这样做时karma start,我都会出错Uncaught TypeError: Unexpected anonymous System.register call.。有没有办法解决这个问题?

其他尝试:

  1. 根据https://github.com/karma-runner/gulp-karma尝试创建一个 gulp 任务。但是有同样的问题。
  2. 尝试使用karma-systemjs. 不同之karma.conf.js处如下:

    在这种情况下,我得到了以下错误,尽管我已经安装了SystemJs两者Babel

    /li>

在这方面的任何帮助都会很棒。

0 投票
1 回答
30367 浏览

node.js - npm 的“跳过失败的可选依赖项”是什么意思?

最新版本的 node 和 npm 导致运行 karma 出现问题。当我尝试安装 karma-cli 时npm i -g karma karma-cli,我收到以下警告:

当我尝试运行时karma test,出现以下错误:

我的配置规范如下:

节点版本: v4.3.0
NPM 版本: 3.7.3

我无法安装业力版本,我认为它没有正确安装在我的机器上。

0 投票
0 回答
41 浏览

angularjs - 在 AngularJS 上对 Parse.com 进行单元测试 Karma

我对AngularJs,Parse和Karma很陌生。这次我遇到的问题我没有在网上搜索类似的解决方案。所以我希望任何擅长这些部分的人都可以帮助我。为了使 Parse 可以在我的项目中运行,我从这个站点安装了 angular-parse-patch:https ://github.com/mcwebb/angular-parse-patch 然后它可以工作,我可以在我的项目中使用 Parse。但是,我现在正在进行单元测试,当我使用 Karma 测试包含 Parse 代码的控制器时。产生的错误。

我猜是因为 Karma 没有连接解析补丁的路径。

0 投票
2 回答
1237 浏览

mocha.js - 未捕获的错误:尚未为上下文加载模块名称“lib/chai”:使用 require([])

我正在使用 karma-mocha ..我的 karma.conf 文件正在使用 karma-jasmine ...但不能使用 karma-mocha ....我的 karma.conf 文件:--

0 投票
2 回答
1625 浏览

javascript - 手动触发 Karma 重新运行测试

我知道 Karma 有一个内置autoWatch选项,可以在测试文件更改时重新运行我的测试:

有没有办法手动触发此重新运行?我希望能够更好地控制我的测试何时重新运行。

0 投票
0 回答
201 浏览

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

业力会议

0 投票
2 回答
310 浏览

javascript - 如何用新版本的业力替换已弃用的 gulp-karma?

目前我在 JS 中使用 gulp-karma 进行单元测试,但当前版本已被弃用。如何替换此代码以便我可以使用推荐的新版本?

旧版本: var karma = require('gulp-karma');

新推荐版本(但不使用管道):

我指定我需要使用管道,但我总是遇到一些错误。

0 投票
1 回答
66 浏览

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。谢谢

0 投票
2 回答
1239 浏览

javascript - 业力问题 Javascript import SyntaxError

我正在尝试运行此规范,但出现此错误: SyntaxError: import declarations may only appear at top level of a module

但正如你所见,我在顶部有导入,所以这可能还有另一个原因吗?

ng-form-b​​uilder.spec.js

ng-form-b​​uilder.js

控制台日志