问题标签 [isparta]
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.
reactjs - isparta 模块未正确加载,因此无法运行测试用例
我的测试过去运行得非常好,但是突然之间我在运行测试时遇到了以下错误。请帮忙。我被困在这两天了。
这是一个反应项目。我正在使用 web-pack 和 babel。使用 isparta 进行代码覆盖。
这是我的 package.json:
这是我的业力配置文件:
javascript - 使用 Karma + Jasmine 对 Browserify 项目进行单元测试
我正在尝试为基于 AngularJS 的 JavaScript 插件设置单元测试。该插件通过 Gulp 与 Browserify 捆绑在一起。它取决于从文件夹中注入wiredep
和gulp-inject
从bower_components
文件夹中注入的外部库。这一切在生成的包中运行良好,但如果我尝试通过 gulp 运行 Karma 单元测试,我会收到以下错误:
未捕获的类型错误:angular.module 不是 /tmp/94dbea5947f4758ab1ee6935e2f4b3f1.browserify:365 <- app/js/services/index.js:9:0 处的函数
在这个文件中,angular
加载了var angular = require('angular');
,并且 aconsole.log(angular)
给出了一个空对象。
我的karma.conf.js
:
所有主要的应用程序文件都位于以下app/
,bower 文件bower_components/
,节点模块node_modules/
和测试规范test/unit/
。
它基于这个样板:https ://github.com/jakemmarsh/angularjs-gulp-browserify-boilerplate 。
错误发生在 Karma 启动 Chrome 之后,但在执行任何单元测试之前(我console.log
在单元测试中检查过)。
任何帮助将不胜感激。
karma-runner - 如何让 Browserify、Babel 和 Coverage 在 Karma 中协同工作?
我越来越厌倦试图让节点库一起正常工作,但这是工作的一部分,所以就这样吧。
我有一个用于浏览器的 ES6 应用程序。当我的应用程序用 ES5 编写时,我对我的文件进行了一组单元测试。我使用 Browserify 来处理导入/导出模块和捆绑我的发行版。在浏览器中运行应用程序时,这可以正常工作。我可以成功地浏览源文件和规范文件并运行测试,并且测试通过了。我非常接近让这个工作。
唯一的问题是覆盖范围。我最接近的是显示对 karma-browserify 生成文件的覆盖,每个文件看起来像这样:
并且覆盖率显然显示为所有文件的 100%,因为每个文件都只是一行。
这是我的 karma.conf.js:
我真的不知道这些库是如何工作的,所以我不知道从哪里开始调试它。我知道预处理器的顺序很重要,因此 Browserify 在源文件上运行,将生成的链接文件提供给源映射生成器,然后源映射生成器将生成的任何内容提供给业力覆盖。但是 Browserify 和处理覆盖范围的任何东西之间存在一些通信损失。Isparta(在幕后使用伊斯坦布尔)不知道 browserify 正在运行,我不知道它看到了什么。
如果有人在测试具有适当代码覆盖率的模块化 ES6 方面有任何经验,请让我知道我是否走在正确的轨道上,或者我是否应该尝试其他方法。
javascript - Sourcemap + istanbul/isparta 代码覆盖 webpack + babel (for es6) + mocha (+karma)
我在https://github.com/danielbush/webpack-babel-karma-sourcemap-coverage有一个测试项目。
它由 中的两个简单源文件组成src/
,其中一个带有故意错误 ( src/lib2.js
)。
我想使用 babel 从 ES6 到 ES5 进行 webpack 和转换,并使用 Karma 在这个包上运行 Mocha 测试。
我已经添加了源映射并对其进行了测试,以便我可以看到原始文件的行号。
对我来说,堆栈跟踪如下所示:
在上面的最后第二行,它显示webpack:///src/lib2.js:13
了原始源中的正确位置。
为了获得该映射,我这样做了:https ://github.com/danielbush/webpack-babel-karma-sourcemap-coverage/commit/6ea992cae499dccc68488bcb3eaca642ae4ed24e
我想要做的是使用诸如伊斯坦布尔(或使用伊斯坦布尔的 isparta)之类的东西添加覆盖率,以便我可以在 coverage/ 中生成 HTML 覆盖率报告,显示未覆盖的行(可能) - 以及整体覆盖率百分比。
但我想确保我的堆栈跟踪仍然像上面那样正确映射源。
我已经尝试过 isparta-loader 和 isparta-instrumenter-loader 在 webpack 中转译和检测有问题的文件,但我的行号在堆栈跟踪(上图)中略有错误。似乎有许多类似 isparta 的东西在四处飘荡,并且文档不是超级友好的。
为了更一般地表达所有这些:我正在捆绑文件和测试,然后在浏览器中测试它(业力或通过更多手动方式),我希望我的源映射(在浏览器中)指向原始行代码,同时我想要一份覆盖率报告来引用未被覆盖的原始行和文件。
javascript - 如何使用 Webpack 和 Babel 从代码覆盖率中排除规范文件?
问题
我正在开发一个配置了 、 和 . 的小型 react- webpack
reduxbabel
项目karma
。我向业力添加了代码覆盖率,但我找不到从覆盖率中排除测试文件的方法。所以我的代码覆盖率有spec
文件。
如何将这些spec
文件排除在覆盖范围之外?
我尝试使用正则表达式来排除spec
文件,但由于它是由 加载的webpack
,所以它不起作用。
tests.webpack.js
webpack.config.js
karma.config.js
javascript - ENFILE:Karma 文件表溢出
我在运行 Karma 测试时遇到文件表溢出问题,我不知道如何调试它。
业力.conf.js:
包.json:
测试单元.js:
错误:
12) 在 /Users/Abhi/Documents/projects/test/node_modules/karma/lib/file-list.js:161:14 在 [object Object].List._refresh (/Users/Abhi) 的 Array.map (native) /Documents/projects/test/node_modules/karma/lib/file-list.js:153:37) 在 [object Object].List.refresh (/Users/Abhi/Documents/projects/test/node_modules/karma/lib/ file-list.js:252:27) 在 [object Object].Server._start (/Users/Abhi/Documents/projects/test/node_modules/karma/lib/server.js:177:12) 在 [object Object] .invoke (/Users/Abhi/Documents/projects/test/node_modules/karma/node_modules/di/lib/injector.js:75:15) 在 [object Object].Server.start (/Users/Abhi/Documents/projects /test/node_modules/karma/lib/server.js:101:18) 在 Gulp。(/Users/Abhi/Documents/projects/test/gulp/tasks/test-unit.js:53:12)在模块。
istanbul - 使用 gulp-istanbul 实现 React.js 代码覆盖率的 Gulp 任务
我正在为一个项目使用 React.js。
我正在使用 Mocha 和 chai 作为测试框架。
现在,我想使用 gulp-istanbul 作为代码覆盖率部分。
服务器端部分工作得很好,但是当涉及到客户端时,我使用下面的代码:
但我没有用上面的代码完成工作。
似乎我无法在 gulp 任务中转换 ES6 或 ReactJS 代码。
它可以通过 gulp-jsx-coverage 等其他模块来完成,但我确实想遵循这种方法。
关于我如何完成这项任务的任何意见?
unit-testing - Karma + jspm + PhantomJS“无法加载 PhantomJS”
我在 Windows 上运行一个 Aurelia 项目,我想用 PhantomJS 运行 Karma。我在这里的骨架项目中也有类似的 JSPM 和 Babel 。
这是我的 karma.conf.js:
这是我的 gulp 文件:
我的版本:
- JSPM: 0.16.15
- NPM: 3.8.3
- 吞咽: 3.9.1
- 业力: 0.13.22
我确实有我的 PhantomJS 路径集(正在运行>phanthomjs
)。
phantomjs - 我第一次尝试使用 Karma + Mocha
我第一次尝试使用 Karma + Mocha。
主要条件是在没有任何 GUI 的 Docker 容器中运行单元测试。我没有任何浏览器,我唯一的选择是使用 PhantomJS。
我已经配置了所有必要的插件、配置等,但我收到以下错误:
ReferenceError:找不到变量:导出
在测试运行之前,我使用 Babel 将 JavaScript 源代码构建到“build”目录,然后从那里启动 Karma。
什么可能导致这个问题?
这是我的 karma.conf.js:
angular - Angular2单元测试组件得到“没有DirectiveResolver的提供者”
我收到以下错误:
在尝试运行这个甚至没有的测试时expect
(比实际到达那里更快地崩溃):
这是我的 karma.config.js:
这是我的test-setup.js
:
有谁知道为什么会发生这种情况或我应该做什么?