问题标签 [angular-test]
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.
angular - 使用 retry() 和 HttpClientTestingModule 测试 HTTP 请求
我想用HttpClientTestingModule
. 在我将 rxjs 添加retry(2)
到 HTTP 调用之前,这可以正常工作。然后,测试明显抱怨发现了一个意外的请求:
预计没有打开的请求,找到 1
但是现在,我不知道如何使用以下命令来期待两个请求HttpTestingController
:
服务.ts
服务规范.ts
如果我删除expect(requests.length).toBe(2)
,测试将失败并显示之前的错误消息。
运行示例
你可以试试这个Stackblitz
angular - Angular 应用程序中的集成测试
我对这个测试有点困惑:
在学习 Angular 应用程序中的测试时,我多次看到类似的例子。
如果我认为不错,我们将声明一个用户数组,然后我们将返回相同的数组以响应请求。
最后,我们正在检查创建的数组是否与收到的相同。我无法理解其目的,这对我来说真的很奇怪。
将同一个数组与同一个数组进行比较有什么意义?
我不应该对 API 进行真正的 GET,然后检查是否有响应的元素吗?
angular - Prevent accidental change of event name emitted by child component
How can I prevent accidental change of event name emitted by child component?
If one changes name of ParentComponent.doReboot()
in template or ts then AoT build will detect it and fail.
If one changes the name of emitted event @Output() reboot
the compiler doesn't detect it.
Is there any built-in mechanism into Angular to check if all events used in ParentComponent
exist in RebootComponent
? If not how can I unit test correct @Output assignment in parent component? I know I can unit test RebootComponent
but one may change @Output() reboot
and also fix test for it not touching ParentComponent
.
angular - Angular 测试获取实际的 HTTP 响应
我是角度单元测试的新手。我想做的是从我的 API 中获得实际结果。我检查了这个文档,但据我所知,我应该创建模拟响应。这是我的代码,
我的服务.ts:
myService.spec.ts:
当我在控制台中写入结果时,它会写入“testData”而不是“data”。正如我之前所说,我想从我的 API 中获得实际结果,而不是模拟结果。对不起,如果这是一个愚蠢的问题,但我该怎么做?谢谢你的建议。
angular - Angular cli ChromeHeadless karma 仍然打开浏览器
我想将 ChromeHeadless 与 karma 一起使用。我的配置是:
当我运行 ng test 时,我仍然需要打开浏览器。这是我从业力控制台得到的:
Karma v2.0.0 服务器启动于http://0.0.0.0:9876/
angular - 使用 karma+jasmine (this.location.subscribe) 测试以 Angular 2 订阅 Location
我正在订阅我的组件中的角度位置服务,如下所示:
我希望能够与我的其他组件一起测试它。
现在我的 component.spec.ts 文件中有这个存根
我将它作为提供者配置到我的 TestBed 中:
当我运行时ng test
,我得到这个错误this.location.subscribe is not a function
。
如何创建允许我传递 Location 的 .subscribe 功能的存根或间谍。
这是关于测试位置的类似问题,但它指的是位置内的功能,而不是专门订阅位置。
任何帮助深表感谢。
angular - Angular 2 jasmine 中带有 ngif 异步调用的单元测试 html 元素
我正在为*ngIf
有条件的 html div 编写单元测试。
当我从ngrx商店收到数据时,这个ngIf
条件就成立了。下面是填充此数据的组件代码。
现在,在为此编写单元测试用例时。
问题是,在控制台中,在调用函数之前,我得到的长度为 0,在调用函数之后,我得到的长度也为 0。它应该是 1,当我们从商店收到数据时。正是因为这个 *ngif 条件,*ngIf="clientSearchResults$ | async as searchResults"
数据在 DIV 中加载,但在单元测试中我仍然无法测试这个东西?
angular - 如何测试 Material2 小吃吧?
我有一个关于 Angular 5 的项目,但遇到了以下问题。我有一个组件 ComponentWithSnackBar 触发显示小吃店:
它按预期工作。但我不知道如何测试它。我尝试编写测试:
结果我得到错误
TypeError:无法读取 null 的属性“textContent”
我做错了什么?感谢提前!
angular - 未定义不是业力(Angular 2)中的对象(评估'this.outages.getValues)
我试图在过去 3 小时内解决此问题,但没有用。任何帮助,将不胜感激。
这是我的组件
在我的规范文件中,我导入了服务,在提供程序中添加了服务,并且我还为这些功能添加了模拟数据。我收到此错误
在我的组件中完成的实现是错误的,还是我应该添加其他任何东西?
任何想法或建议将不胜感激!
gulp - nightwatch 错误:找不到模块“e2e/step_definitions/analysis.js”
我们有一个 Angular 4 项目,我们正在尝试使用 gulp、nightwatch 和 cucumber 添加一些 e2e 测试,但每次运行测试时都会发生以下错误:
下面是我们的配置:
nightwatch.conf
包.json
gulpfile.js
这是项目结构
项目 在这里输入图片描述
请帮助我找出导致此问题的原因。