问题标签 [angular-jest]
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 中安装 Jest 时无法读取未定义的属性“匹配项”
我想jset
在我的角度项目中使用。当我运行以下命令时:
得到以下错误:
npm 错误!无法读取未定义的属性“匹配”
注意:在安装之前,我使用以下命令jest
完全删除:Karam
我该如何解决?
提前致谢。
typescript - 更新到 27 后,Angular jest 不理解导入路径
这是一个奇怪的错误。所以我将 jest 更新为 27 并且都停止工作
导入路径似乎有问题。所以以下
不起作用,但这确实:
我猜这是在 tsconfig 中管理的。这是我的spec
tsconfig:
和主要的tsconfig:
任何可能导致此导入问题的建议
angular-spectator - 笑话/旁观者 spyOn ChangeDetectorRef
在我的 Angular 12 应用程序中,我将 aChangeDetectionStrategy.OnPush
用于我的组件,然后ChangeDetectorRef
通过构造函数注入 a 。我想测试我的方法并确保我正在检测更改。它总是告诉我它没有被调用。
我不知道如何检查是否被调用,因为间谍似乎不适用于 ChangeDetectorRef。我尝试的是这样的:
angular - 如果“app-user”是一个 Angular 组件并且它有“InwelcomeMsg”输入,那么验证它是这个模块的一部分
测试子组件时出现如下错误:
1. If 'app-user' is an Angular component and it has 'InwelcomeMsg' input, then verify that it is part of this module.
在测试组件时。我正在使用testing-library
angular with jestjs
。无法弄清楚这个问题。
容器组件.ts:
html:
子组件.ts:
child.test.spec:
不知道我在测试中想念她什么。有人帮我吗?
angular - Angular Jest 在 RxJS 7 上对 debounceTime 不起作用
我将我的 Angular 应用程序更新为 Angular 13,一切正常。然后我将 RxJS 从 6.6.0 更新到 7.4.0。之后,一些单元测试失败了。
伪测试:
伪代码
在测试中,订阅永远不会得到结果,所以它似乎debounceTime
永远不会继续。知道如何解决这个问题吗?
我在用着
jestjs - 使用一种返回值的方法创建模拟服务(对象)
在 Angular 环境中,如何在Jest环境中轻松地为返回特定值的服务对象创建模拟服务?这可能是通过 ng-mocks 的 Jest 等。
一个过于简单的例子:
我研究了 Jest 和 ng-mocks 文档,但没有找到一个非常简单的方法。您可以在下面找到 2 种工作方法。你能改进版本吗?
我简化的 Angular 组件:
这是简化的服务:
尝试 1:一个可行的解决方案:使用“jest.genMockFromModule”。
缺点是我只能在每个系列测试开始时创建一个 returnValue,所以在 beforeEach 设置时间。
尝试 2:用“jest.createMockFromModule”替换“ jest.genMockFromModule ”:同样有效。
缺点仍然是我只能在每个系列测试开始时创建一个 returnValue,所以在 beforeEach 设置时间。
尝试 3:预先创建一个模拟对象:没用
这不起作用,给出错误:
尝试 4:使用 .fn()。缺点是原来的类可能会改变,那么测试对象必须改变。
这一次,错误是:
你能帮助改善这种工作方式吗?
angular - 如何解决错误“无法绑定到'ngIf',因为它不是'span'的已知属性”
我正在借助Jest 测试框架在 Angular 12 应用程序中开发单元测试。现在在测试运行后子组件中出现控制台错误“无法绑定到 'ngIf',因为它不是 'span' 的已知属性” 。
顺便说一句,检查*ngIf
状态的数据是通过以下方式接收的@Input()
这是HTML:
这是 TypeScript 代码:
最后,这是测试文件的样子:
笔记:
我已阅读有关此错误的多项建议并做了以下事情:
- 检查是否存在
CommonModule
包含此组件的延迟加载模块 - 导入
CommonModule
到.spec
组件文件中 - 将组件包含在
TestBed
提供程序中 - 重新运行应用程序(多次)。
- 添加
NO_ERRORS_SCHEMA
到schema
数组中
但是,错误消息仍然出现。