问题标签 [karma-webpack]

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 投票
1 回答
1117 浏览

angular - 无法在 Internet Explorer 11 中创建用于测试输入组件(角度)的 KeyboardEvent

我们已经为我们的 Angular 应用程序启动并运行了业力测试套件。铬的所有测试都是绿色的。现在我必须修复一个在 IE 11 上失败的测试。我得到的异常如下:

我的理解是,测试用例是在 angulars TestBed 类的帮助下创建一个用于测试的角度组件。使用一些神奇的代码,我们获取输入组件本身并在其上运行 keydown 事件:

但是当我在 IE 中运行代码时,当我尝试使用以下代码创建事件对象时,异常已经发生:

KeyboardEvent 对象在类型文件 lib.es6.d.ts 中定义:

有人可以说明这个问题吗?请记住,一切都在使用 chrome - 只有 IE 不正常!

0 投票
3 回答
1770 浏览

angular - Angular 2 npm 测试 - 无法加载“webpack”

我在尝试运行时看到错误npm test

我的 package.json 文件中有以下内容:

我看过一些关于 karma-webpack 版本的帖子,但推荐的帖子似乎比我这里的旧。我确实必须手动操作npm install karma-webpack --save-dev,因为快速入门中缺少它,但它现在应该可用,对吧?

0 投票
1 回答
577 浏览

angular - Karma-Jasmine TypeError: this.ngRedux.getState 不是函数

我正在尝试对我的一个模块进行测试,该模块处理 ngRedux。在运行测试时,我得到

TypeError: this.ngRedux.getState 不是函数

我正在运行的测试很简单

包.json

组件代码

0 投票
2 回答
2177 浏览

angularjs - Karma Webpack Jasmine 单元测试不起作用

我正在尝试在 AngularJS 中使用 Karma、Jasmine、Webpack 设置测试。我的 webpack 工作正常,我可以使用npm start

一个简单的测试工作正常,但是当我尝试添加我的 app.js 时,一切都走下坡路了。

我已经尝试了许多许多搜索和许多解决方案。请不要想,当我遇到死胡同时,我正在写这个问题。我今天整天都在谷歌上搜索并找到可能的解决方案。

有我的 karma.conf.js 文件

我写的测试是

它失败并出现此错误:

我正在使用 OSX。从技术上讲,webpack 应该将编译后的文件提供给 Karma。但是意外的令牌导入意味着该文件没有被编译并提供给 Karma。

请帮忙。

我什至尝试用 babel 编译,但这也没有去任何地方。我搬到了 webpack,因为我们已经构建了 webpack 配置,并且项目是使用 pages.config 编译的

更新

对于遇到这个问题的任何人,我使用了 Felix 的 OPTION #1。我只是将编译后的文件包含在 Karma 中。它就像魅力一样。

每当文件更改时,Webpack 都会自动编译文件,因此只需添加输出即可。

我的文件数组如下所示

不幸的是,我不得不使用 http 作为第二个选项,但它工作正常。

0 投票
1 回答
60 浏览

angular - 无法运行 angular4 测试用例

当我ng test在我的 angular4 应用程序中运行时,我收到一个错误(附有 ps 的屏幕截图)。我没有改变任何东西,这只是在 app.component.spec.ts 中添加了一些测试规范

我的karma.config.js文件有以下代码

错误: 错误

0 投票
0 回答
381 浏览

typescript - 业力覆盖率始终为 0/0

所以我有 1 个带有 3 个测试的 spec.ts 文件。测试运行良好:

但覆盖率始终显示 0/0:

我查看了很多示例,但我不明白它有什么问题。

这是我的karma.config.js

引导测试.js

webpack.config.js

package.json

我哪里做错了?

0 投票
0 回答
387 浏览

webpack - 如何使用 webpack 在 karma 中加载原始 html

我有一个使用 webpack 编译的应用程序,它使用require以下配置加载 html 文件webpack.config

当应用程序在浏览器中运行时,这可以正常工作,并让我在代码中执行以下操作:

var html = require("my-view.html"); 警报(html);

而在因果报应中运行时它会爆炸。事实上,业力是这样的:

看起来 karmaraw-loader在尝试要求 html 文件时不知道它必须使用 webpack 模块。

所以我的问题是:我如何指示业力这样做?

谢谢

以下也是我的业力配置文件:

0 投票
1 回答
1435 浏览

angularjs - karma-webpack 没有加载 AngularJS 包

我最近开始从用于处理各种事情的自定义 gulp 脚本迁移到 webpack。我已经让它在浏览器中转换、捆绑和提供客户端应用程序工作得很好。

现在,当我使用 gulp 对捆绑的 app.js 文件运行我的 karma 测试时,gulp 脚本将首先捆绑 app.js 文件,然后将其放入 dist 文件夹。然后这个文件将被 karma 用来针对它运行测试。我的 gulp 测试任务还将监视任何测试文件更改或捆绑文件更改,并基于此重新运行测试。

使用 webpack,我知道这个 dist/app.js 驻留在内存中,而不是被写入磁盘(至少我是这样设置的)。这样做的问题是,似乎我的捆绑应用程序(与webpack-dev-server --open.

这就是我的文件夹结构的样子(我只留下了可能与问题相关的最基本的东西):

这是我的 webpack.config.js

这是我的 karma.conf.js

这是 boot.ts,它基本上是应用程序的入口点:

这是 app.ts (然后引用它下面的任何内容:

最后,这是 account.service.spec.js

这是运行的输出karma start

请注意我离开 console.logs 的几个地方永远不会被触发。这就是我知道应用程序没有加载的方式。那以及茉莉花无法注入我要测试的服务的事实。

我在用着:

有任何想法吗?我究竟做错了什么?我的印象是我的 webpack.config.js 应该捆绑我的 AngularJS/TS 应用程序,然后基本上将其提供给业力,但无论出于何种原因,这似乎不起作用。还是我对这应该如何工作有一些基本的误解?

谢谢你。

我将一些文件提取到一个简单的应用程序中并将其放到github 上,以便可以轻松地重现该问题。

编辑:

我设法通过替换以下内容来运行测试:

在业力设置中

但这不会向下钻取或加载/导入应用程序的其余部分。然后我尝试仅将我想要测试的类导入规范,但我无法模拟我正在测试的类正在使用的任何 DI 注入服务。无论如何,我在这个阶段几乎放弃了这个,不再试图弄清楚如何做到这一点,转向 ang2+。

0 投票
2 回答
2953 浏览

karma-runner - Karma 配置 - 包括其他配置文件

我没有看到任何关于此的内容,但我想知道是否可以在单个 Karma 运行中包含多个 karma-conf.js 文件?基本上,我正在考虑为 CI 配置一个具有覆盖率和 tslint 的配置,以及一个仅针对本地开发进行测试的配置。

0 投票
0 回答
179 浏览

webpack - 无法使用 Webpack 3 运行 Karma

我正在使用 webpack :3.8.1, karma:1.7.1 和 karma-webpack:2.0.6 。当试图运行业力它显示错误 [preprocess]: Can not load "webpack", it is not registered!. 这些最新版本不兼容吗?我应该在配置上做些什么吗?请告诉我。

问候桑托什