问题标签 [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.
angularjs - 如何将业力和茉莉花包含到使用 webpack 服务的 AngularJs 项目中
我花了一整天的时间试图为我的项目设置业力。我浏览了所有教程和 StackOverflow,但无法将其集成到我的项目中。
我的项目是使用 web pack 提供的。我想问题是我无法获得对我的根应用程序模块的引用。
请帮我解决一下这个。
我尝试使用其名称导入模块,导入整个文件(js)等,但没有任何帮助。
PS:这个项目有大量的服务、组件、指令等。我们使用了 js 和jade。这是我们第一次为新功能集成单元测试。
已编辑
karma.config.js
即使我在应用程序中导入了所有 js 文件,我也无法获得对应用程序模块的引用。请注意,webpack 在 dist/ 处提供文件,该文件未在 karma.config 中导入
通过上述配置,我能够获得对应用程序的引用。
配置有什么改进吗?
angular - @Input 装饰器和 Karma 测试
@Input()
在将某些组件的部分排除到较小的 UI 组件中之后,我为它们分配了从父级传递并在装饰器的帮助下获得的属性。但看起来 Karma 不理解这些输入并给我抛出错误,例如
无法绑定到“属性”,因为它不是“应用程序组件”的已知属性。
- 如果 'app-component' 是一个 Angular 组件并且它有 'property' 输入,那么验证它是这个模块的一部分。
angularjs - AngularJS Karma 检查 url 参数是否存在
我是单元测试的新手,并试图为我的应用程序编写单元测试。我的路线是:
我的控制器:
在我的单元测试中,我需要测试 URL 中是否存在“companyId”,然后只进行其余的重定向到“home”。我试过这段代码,但每次都失败。我不知道我做错了什么。
每次我运行这个测试时,它都会说:Expected null to equal '#/accounts/company/test-company'。
angular - Angular 5 尝试运行“ng test”时出错
尝试运行时出现错误ng test
:
HeadlessChrome 65.0.3325 (Windows 10.0.0) ERROR Uncaught TypeError: Cannot read property 'fn' of undefined at http://localhost:9876/_karma_webpack_/scripts.bundle.js:12
包.json
angular - Angular TestBed - Karma/Jasmine | 导入的意外值“BrowserDynamicTestingModule”| 角 AOT
测试床代码示例,遵循指南https://angular.io/guide/testing -
引发错误 -
业力配置文件 -
业力垫片 -
Webpack 开发 -
Webpack 通用配置 -
Boot.ts 因为它是唯一包含与 BrowserDynamicTestingModule 相关的任何其他文件 -
我目前正在运行 Angular AOT 5.2.0。我试过恢复到 JIT 构建,但得到了同样的错误。现在已经坚持了一段时间,任何关于导致这种情况的帮助或见解将不胜感激。
我可以正常编译和运行构建
angularjs - Karma Webpack 预处理器很慢
跑步时
和
webpack 预处理器工作 6-8 分钟,不断消耗 13% 的 CPU。简单我可以以某种方式优化它吗?
简单的 npm 启动
大约 1 分钟后准备就绪。
typescript - Karma 中的源映射 TypeScript
我正在尝试使用 Webpack 为 TypeScript 设置构建过程。大多数部分一切正常。但是我无法让源映射在 Karma 测试运行器中正常工作。
问题描述
假设我有一个打字稿文件test.spec.ts
(1)。该文件由 TypeScript 转译为带有内联源映射 (2) 的某些 ES5 源。最后,ES5 源代码由 Webpack 4 使用eval-source-maps (3) 捆绑,并由 Karma 测试运行程序提供给 Chrome。
通过在 Chrome 中检查 Karma Debug Runner 中的源代码,我可以看到所有三个转换阶段实际上都可用于浏览器:
- (1) 源映射为
webpack://test.spec.ts?c161
- (2) 源映射为
webpack-internal://test.spec.ts
- (3) 可用作
localhost:9876/base/test.spec.ts
在 Chrome 控制台中,我还可以获得测试执行期间抛出的所有错误的正确堆栈跟踪。正如我所料,这些包括源映射到 (1) 的行号。例如:
然而,Karma 本身会记录错误,其中行号仅源映射到 (2)。例如:
这完全没有帮助,因为 (2) 只是一些中间源,甚至从未写入磁盘。事实上,我不需要 (2) 的源映射,也不明白为什么首先包含它们。如果可能的话,我想尝试禁用它们(当然,同时为 (1) 保留正确的源映射)。
无论如何,重要的是让 Karma 使用相对于原始文件的行号报告堆栈跟踪,就像在 Chrome 控制台中所做的那样。如有必要,我也愿意为此牺牲执行速度
如果您想不出一个完整的解决方案,但对 TypeScript / TS-Loader / Webpack / Karma-Webpack / Karma 有一些见解:我也对任何有助于查明该工具链上的问题的论点感兴趣。
最少的测试配置
devDependencies 来自package.json
karma.conf.js
tsconfig.json
jquery - 我将如何使用 karma/jasmine 对这个简单的 jQuery 代码进行单元测试?
我正在创建一个 webpack 入门应用程序以支持轻量级 Typescript 和 jQuery 开发。到目前为止,它运行良好,可以做所有我希望它做的很酷的事情,比如自动检测编辑、在你更改内容时重建和重新启动应用程序等。它还支持单元和 e2e 测试。
但是我从来没有对 jQuery 代码进行过单元测试,我什至不知道从哪里开始测试这个极其简单的“Hello, world!”。应用程序:
确保已设置此消息的单元测试是什么样的?
我已经安装karma-jquery
和karma-jasmine-jquery
. 我在谷歌上搜索了很多关于如何使用这些工具的例子,但我所看到的没有一个与我试图解决的简单问题相匹配。
更新:
我想我越来越接近我想要用以下不太工作的测试做的事情:
这不起作用并不让我感到惊讶,因为它监视了一个 jQuery 原型方法,而我认为我需要监视的是一个特定的 jQuery 对象,但是如何创建它并监视它以便它与选择器一起工作#message
,我还没有线索。
angular - Karma 在 Angular/Cordova 项目上编译错误 - 找不到名称“X”(“FileError”、“Entry”、“DirectoryEntry”等)
我正在尝试使用 Karma/Jasmine 改造现有的 Angular 6/Cordova 项目。我已经安装了所有先决条件和软件包并配置了所有软件包配置文件。我有 karma 测试运行程序,但现在我的 Karma 编译输出中出现了一堆类型依赖错误(见下文)。
我创建了一个简单的 .spec.ts 文件作为简单测试,以查看框架是否正常工作:
这是编译器输出:
这是我的 karma.config.js 文件:
这是我的 angular.cli.json 文件:
测试.ts:
最后是我的 package.json:
非常感谢我为什么仍然收到这些错误的任何想法!
angular-cli - RangeError:角度 cli 业力上的字符串长度无效
Karma 因上述错误而崩溃。即使有一个全新的 Angular cli 项目。
{
"dependencies": {
"@angular/animations": "^4.2.4",
"@angular/common": "^4.2.4",
"@angular/compiler": "^4.2.4",
"@angular/core": "^4.2.4",
"@angular/forms": "^4.2.4",
"@angular/http": "^4.2.4",
"@angular/platform-browser": "^4.2.4",
"@angular/platform-browser-dynamic": "^4.2.4",
"@angular/router": "^4.2.4",
"@types/moment": "^2.13.0",
"core-js": "^2.4.1",
"karma-phantomjs-launcher": "^1.0.4",
"lodash": "^4.17.10",
"moment": "^2.11.2",
"rxjs": "^5.4.2",
"zone.js": "^0.8.14"
},
"devDependencies": {
"@angular/cli": "1.3.1",
"@angular/compiler-cli": "^4.2.4",
"@angular/language-service": "^4.2.4",
"@types/jasmine": "~2.5.53",
"@types/jasminewd2": "~2.0.2",
"@types/node": "~6.0.60",
"codelyzer": "~3.1.1",
"jasmine-core": "~2.6.2",
"jasmine-spec-reporter": "~4.1.0",
"karma": "~1.7.0",
"karma-chrome-launcher": "~2.1.1",
"karma-cli": "~1.0.1",
"karma-coverage-istanbul-reporter": "^1.2.1",
"karma-jasmine": "~1.1.0",
"karma-jasmine-html-reporter": "^0.2.2",
"protractor": "~5.1.2",
"ts-node": "~3.2.0",
"tslint": "~5.3.2",
"typescript": "~2.3.3"
}
}
其他不使用 angular cli 的测试工作。我已经重新启动,npm i,几乎完成了一切。
小号