问题标签 [angular-unit-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 - 如何解决 Angular 单元测试中未定义 res.headers.get('Authorization') 的问题?
组件功能:
服务方式:
单元测试:
我能够通过名为 as 的服务方法的行,sendUserCredentials
但在该服务方法内部有一行我从响应中获取标头,但我无法解决我遇到的问题。
此错误专门发生在组件函数的第 4 行。
angular - 为排序标题事件角材质创建模拟
我正在尝试为 matSortChange 函数编写单元测试。这会发出一个排序事件,我认为它只是一个具有活动属性和方向属性的对象。我的测试目前看起来像:
我得到的 TS 错误是
在查找 SortDirection 看起来像angular material docs时,我的 fakeSortEvent 对象似乎应该可以工作。如何创建模拟排序事件?
jasmine - 建议代码覆盖的角度单元测试
请建议对上述代码进行单元测试。
angular - 如何对浏览器平台库中的元标记进行 Angular 2 单元测试?
我正在用 Jasmine 为 Angular 2 组件编写单元测试。当我的组件被实例化时,我想测试我的文档元标记是否设置为特定值。我的组件:
这是我为测试编写的内容,但它不起作用。
当我启动测试时,它会在控制台中给出一些错误:
src/app/app.component.spec.ts:27:47 中的错误 - 错误 TS2345:“我的关键字”类型的参数不可分配给“预期”类型的参数。
27 expect(meta.getTag('name=keywords')).toBe('我的关键字');
src/app/app.component.spec.ts:32:21 - 错误 TS2339:“HTMLMetaElement[]”类型上不存在属性“getTags”。
32 期望(metatags.getTags('httpEquiv=X-UA-Compatible').content).toBe('IE=edge');
src/app/app.component.spec.ts:33:21 - 错误 TS2339:“HTMLMetaElement[]”类型上不存在属性“getTags”。
33 期望(metatags.getTags('httpEquiv=X-UA-Compatible').title).toBe('123');
javascript - Angular 单元测试,“你需要包含一些实现 __karma__.start 方法的适配器!”
我正在为我的项目安装业力,我做了以下事情,但是当我运行“npm run test-karma”时,我得到了以下错误,
“您需要包含一些实现karma .start 方法的适配器!”
包.json,
Karma.conf.js,
测试.ts,
我是新来的。
angular - 如何获得价值 Angular 单元测试 CSSStyleDeclaration
我尝试测试 Angular 材料垫扩展面板打开。
所以,我用下面的代码测试。
控制台(console.log(first.style))下面的输出在“它”中
但是,失败的 expect(first.style.visibility).toEqual('visible') 与Expected '' 等于 'visible'。
怎么获得
angular - 如何在 Angular 中测试多个订阅?
在我的 Angular 单元测试中,我想myComponent.items$
在调用 subject 时检查是否有 0 个结果myComponent.clearInput$.next()
。在此之前,我想确保有一些记录。myComponent.items$
可以由 填充myComponent.nameInput$.next("test")
。
不幸的是,两个订阅都是在两个主题都被调用后触发的,所以myComponent.items$
总是 0。
这就是那些主题调用 items$ 的方式
azure-devops - Azure devops - 最小代码覆盖拉取请求
我有一个 Angular 9 项目,我试图在 Azure devops 中的拉取请求上获得最小的代码覆盖率,以符合文档。然而,最小的代码覆盖率不起作用,可能缺少一些步骤......
重现步骤:
- 创建一个新的 Angular 9 项目:“ng new DefaultWebsite”
- 创建构建管道并编辑业力和量角器配置符合 Microsoft“构建、测试和部署 JavaScript 和 Node.js 应用程序”文档
- 在我的项目的根目录中添加和“azurepipelines-coverage.yml”以启用拉取请求中的代码覆盖率检查符合 Microsoft“拉取请求的代码覆盖率”文档
- 在 de app.spec.ts 文件中禁用一些测试,因此代码覆盖率不再是 100%,现在是 77%。将 yml 文件中的最小代码覆盖率更改为 95%,因此无法编译拉取请求符合理论,它应该给出“覆盖状态检查失败”错误,符合 Microsoft 文档。
但是,当拉取请求启动时,“状态”部分下方会进行代码覆盖率检查。构建(使用单元和 e2e 测试)完成后,没有代码覆盖错误,我认为您可以在“状态”部分下方看到。
当我查看构建时,会有测试结果和代码覆盖率结果。
当我查看代码覆盖率结果时,我看到 75% 的行覆盖率应该是 90% 的最小值,符合 yml 文件。
业力配置文件
量角器配置文件:
azurepipelines-coverage.yml
Azure 构建管道步骤:
javascript - 如何在角度单元测试中对服务进行单元测试?
我的服务中有如下功能,
我的测试用例,
当我运行时它会抛出错误,
我知道它与 this.pollingServiceService.pollRequest( 这个函数有关,但我不知道如何解决它。谁能给我建议帮助。谢谢。