问题标签 [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 回答
998 浏览

angularjs - 如何包含来自 webpack 的供应商捆绑包以在 karma 测试运行程序中使用

我有一个用 TypeScript 编写的 AngularJS 1.x 项目,并且正在使用 Webpack。我现在正在尝试使用我为我的一项服务编写的示例测试来设置karma-typescript模块。

我从这里遵循了示例业力配置文件,所以现在有这个:

当我运行我的测试任务时,我收到一条错误消息,提示找不到 angular。我意识到为什么,因为在我的业力配置文件中,我还没有添加任何应用程序所需的库。除了单独添加这些之外,有没有办法让我将业力加载到我的 webpack 配置文件设置为构建的供应商捆绑文件中?:

那么有没有办法告诉 karma 包含 webpack 输出的 vendor.bundle.js 文件?

我正在努力寻找好的示例\文档,所以如果有人可以向我推荐任何对我有帮助的东西,我将不胜感激!

谢谢

0 投票
0 回答
789 浏览

angular - Ionic 3 和 Angular 4 - Karma 不会立即运行单元测试。启动需要一分钟或更长的时间。是什么导致缓慢?

使用 Ionic 3 和 Angular 4 - Karma Test Runner 不会立即运行单元测试。启动大约需要一分钟或更长的时间。这是正常的还是我可以做些什么来加快速度?

此图显示延迟

以下是我正在使用的业力配置文件

module.exports = (config) => {

};

以下是我正在使用的依赖项和开发依赖项。

}, "devDependencies": { "@ionic/app-scripts": "1.3.7", "@ionic/cli-plugin-cordova": "1.6.2", "@types/jasmine": "^2.5. 47”、“@types/node”:“^7.0.15”、“angular2-template-loader”:“^0.6.2”、“awesome-typescript-loader”:“3.1.3”、“codelyzer”: “3.1.2”、“并发”:“^3.4.0”、“html-loader”:“^0.4.5”、“istanbul-instrumenter-loader”:“^2.0.0”、“jasmine-core” :“^2.6.1”、“jasmine-spec-reporter”:“^4.1.0”、“业力”:“^1.6.0”、“业力铬启动器”:“^2.0.0”、“业力-cli": "1.0.1",“业力覆盖”:“^1.1.1”,“业力火狐启动器”:“^1.0.1”,“业力-茉莉花”:“^1.1.0”,“业力-茉莉花-html-reporter” : "^0.2.2", "karma-mocha-reporter": "^2.2.3", "karma-remap-coverage": "^0.1.4", "karma-sourcemap-loader": "^0.3. 7”、“karma-webpack”:“^2.0.3”、“null-loader”:“^0.1.1”、“raw-loader”:“^0.5.1”、“source-map-loader”: “^0.2.1”、“ts-helpers”:“^1.1.2”、“ts-loader”:“^2.0.3”、“ts-node”:“^3.0.2”、“tslint”: "^5.2.0", "tslint-loader": "^3.5.3", "打字稿”:“2.2.1”}

请指教!

谢谢!

0 投票
1 回答
3800 浏览

javascript - Karma + Jasmine - 找不到变量要求

我正在尝试使用业力和茉莉花在我的 VueJS 项目中实现一些测试。我可以启动基本测试,例如:

返回(我还不允许在我的帖子上显示图像): 终端打印画面

但是在测试我的组件时(所以当我需要它们时)它对我说:

PhantomJS 2.1.1 (Mac OS X 0.0.0) 错误 ReferenceError: Can't find variable: require at history.spec.js:1

这是我的 karma.conf.js:

这是我的测试文件:

编辑- 新的 karma.conf.js 文件

0 投票
0 回答
1778 浏览

google-chrome - 尝试运行业力测试时出错

我在使用 Angular 5.2.0(没有 Cli)设置业力时遇到问题

Angular 应用程序正在运行,但问题出在业力上,当我尝试运行测试时出现此错误:

karma start Hash:ccc4545dd1d9416a823b 版本:webpack 3.10.0 时间:58ms webpack:编译成功。13 01 2018 15:34:59.123:WARN [karma]:没有捕获的浏览器,打开http://localhost:9876/ 13 01 2018 15:34:59.134:INFO [karma]:Karma v2.0.0 服务器从http: //0.0.0.0:9876/ 2018 年 1 月 1 日 15:34:59.136:INFO [启动器]:以无限并发启动浏览器 Chrome 13 2018 年 1 月 15:34:59.147:INFO [启动器]:启动浏览器 Chrome 13 01 2018 15:35:00.726:INFO [Chrome 63.0 .3239(Windows 10 0.0.0)]:连接到套接字 37NRWsbdgw5x2CTBAAAA,ID 为 42149942 Chrome 63.0.3239(Windows 10 0.0.0)错误 {“消息”:“未捕获语法错误:意外令牌 {\nat src/app/app. component.spec.ts:2:8\n\nSyntaxError: Unexpected token {", "str": "Uncaught SyntaxError: Unexpected token {\nat src/app/app.component.spec.ts:2:8\n\ nSyntaxError: 意外的令牌 {" }

首先我得到了视频/mp2t 的错误,所以我添加了 MIME 修复。现在我得到了上述错误。似乎 karma 没有解决 TS 或其他问题,因为我只用一次导入测试了 .spec.ts 文件,但仍然得到相同的错误。

app.component.spec.ts

tsconfig.ts

webpack.config.ts

业力配置文件

包.json

0 投票
0 回答
323 浏览

angular - 茉莉花 html 加载器未在 Angular 4 webpack 中加载

我正在尝试对我的角度应用程序进行单元测试。因为我是这个 karama 测试的新手,我正在尝试业力、茉莉花和量角器。我已经下载了所有业力依赖项。我在 Visual Studio 2017 中使用角度 webpack 版本。我正面临一些问题,如

1.karma html 加载器未加载,只有我可以看到 karma v1.7.0 已连接,调试时在 karma 浏览器中出现模块错误,但应用程序工作正常

2.我做了一个组件测试,但它显示错误..在 CLI 版本中它的工作

3.我已经下载了量角器,我需要手动添加protractor.js吗?

4.webpack版本如何配置karma获取html视图

我的包.json

业力.config.js

我的 spec.ts/component 测试

0 投票
0 回答
485 浏览

webpack - karma-webpack 源映射不起作用(类型脚本文件未加载到 Web 浏览器进行调试)

我正在使用 Karma-Webpack。Karma Webpack 源地图不起作用

当我在 Chrome 中使用 karma 执行测试时,我的规范的源文件在调试器中显示为不可读。但是,被测系统文件(我的应用程序源)不可读

java脚本加载到浏览器,非常难以调试。任何人都可以帮助我将类型脚本加载到

调试器中的规范文件

在此处输入图像描述

webpack.test.config.js

业力配置

业力捆绑.js

0 投票
1 回答
1212 浏览

webpack - 未加载来自 karma-webpack 的捆绑包

我正在尝试建立一个混合 Angular 应用程序(AngularJS + Angular),它使用 Webpack 作为其模块加载器,使用 Karma+Jasmine 作为测试框架。要运行测试,我使用的是karma-webpack; 但是,由 webpack 创建的包永远不会加载到浏览器中,因此永远不会执行测试(呃!)。我已经尝试了很多东西作为健全性检查,但我在互联网上的其他任何地方都没有发现这个问题。

所以,一点调试信息。首先,我的karma.conf.js文件:

运行 Karma 时,webpack 成功执行(karma-webpack打印webpack: Compiled successfully.,我可以看到 webpack 的输出);/tmp/_karma_webpack_/但是,永远不会创建应该保存捆绑包的临时文件(即)。

我已经设置singleRun选项来false查看加载了哪些文件,但甚至没有请求捆绑包。但是,如果我将 Karma 的日志级别设置为DEBUG,我会看到以下(相关)输出:

看起来Karma正在尝试提供需要所有测试的文件;但是,我在浏览器的任何地方都看不到。也就是说,该文件似乎没有被请求/加载,我也没有看到浏览器试图将 TS 解释为 JS 导致的任何错误。

我没有包含 app.spec.ts 文件,因为它似乎无关紧要,因为它从未真正加载过。但是,它是相当标准的。它导入 Angular 所需的所有东西、所有供应商库,并需要所有测试(使用require.context)。

那么,是否有人有任何建议、指示或看到我可能错过的东西?我查看了文档、代码和各种网站,试图找到我错过的一些简单的东西,希望 SO 有一些答案。

0 投票
1 回答
599 浏览

javascript - 在 karma.config.js 中包含插件后出错

这是我在karma.config.js中的代码:

我正在为我的项目使用 Webpack 3+。

在我包含这行代码之后:

我收到以下错误:

无法加载“webpack”,它没有注册!

如果我没有这条线,一切都会顺利进行。问题是我必须实现 PhantomJS。我该如何解决这个问题?

0 投票
0 回答
1224 浏览

ionic3 - 在 Ionic3 应用程序中配置单元测试

我正在基于以下示例项目在 ionic3 项目中实施单元测试:https ://github.com/ionic-team/ionic-unit-testing-example 。

它工作正常,但我有一些问题:

谢谢你的帮助!

0 投票
4 回答
6650 浏览

angular - 使用业力和 webpack 4 运行单元测试时无法读取未定义的属性“externalModuleIndicator”

使用 webpack 4 升级我的 Angular 项目后,我在使用 karma 运行单元测试时遇到错误

[at-loader] 使用 typescript 中的 typescript@2.7.2 和 demo-app-app\src\tsconfig.json 中的“tsconfig.json”。

[at-loader] 检查在单独的进程中开始...

[at-loader] 检查完成,出现 1509 个错误 [at-loader]:子进程无法处理请求:TypeError:无法读取 Object.isExternalModule 处未定义的属性“externalModuleIndicator”(demo-app\node_modules\typescript\lib\typescript .js:13733:20) 在 Object.getAllDependencies (demo-app\node_modules\typescript\lib\typescript.js:75788:46) 在 Object.getAllDependencies (demo-app\node_modules\typescript\lib\typescript.js:76133 :80) 在 processEmit (demo-app\node_modules\awesome-typescript-loader\src\checker\runtime.ts:451:24) 在 demo-app\node_modules\awesome-typescript-loader\src\checker\runtime.ts :602:6 在 Object.send (demo-app\node_modules\awesome-typescript-loader\src\checker\runtime.ts:48:6) 在 Checker.req (demo-app\node_modules\awesome-typescript-loader\ src\checker\checker.ts:100:15) 在 Checker.emitFile (demo-app\node_modules\awesome-typescript-loader\src\checker\checker.ts:105:15) 在变换 (demo-app\node_modules\awesome-typescript-loader\src\index. ts:132:26) 在 transformationFunction (demo-app\node_modules\awesome-typescript-loader\src\index.ts:74:40) 在编译器 (demo-app\node_modules\awesome-typescript-loader\src\index. ts:85:21) 在 Object.loader (demo-app\node_modules\awesome-typescript-loader\src\index.ts:16:12) 在 LOADER_EXECUTION (demo-app\node_modules\loader-runner\lib\LoaderRunner. js:119:14) 在 runSyncOrAsync (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:120:4) 在 iterateNormalLoaders (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:229: 2) 在 iterateNormalLoaders (demo-app\node_modules\loader-runner\lib\LoaderRunner.js:218:10) <--- 最近几次 GC --->

136168 毫秒:标记扫描 1255.3 (1435.8) -> 1242.3 (1435.8) MB,893.2 / 0.0 毫秒 [分配失败] [请求旧空间中的 GC]。137084 毫秒:标记扫描 1242.3 (1435.8) -> 1242.3 (1435.8) MB,915.6 / 0.0 毫秒 [分配失败] [请求旧空间中的 GC]。138055 毫秒:标记扫描 1242.3 (1435.8) -> 1248.2 (1408.8) MB,970.0 / 0.0 毫秒 [最后的 gc]。139026 毫秒:标记扫描 1248.2 (1408.8) -> 1254.0 (1408.8) MB,971.0 / 0.0 毫秒 [最后的 gc]。

<--- JS 堆栈跟踪 --->

==== JS 堆栈跟踪 ==========================================

致命错误:CALL_AND_RETRY_LAST 分配失败 - JavaScript 堆内存不足

包Json:

真棒打字稿加载器:5.0.0-0 业力 webpack:2.0.4 webpack:4.1.1

请注意,我能够毫无问题地运行我的 Angular 项目,只有 UT 配置会出错。