问题标签 [angular-spectator]
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 - 与旁观者的角玩笑:组件测试中的模拟服务方法输出
我在用,
角 CLI:10.2.3
节点:12.22.1
我正在尝试使用 Jest/Spectator 设置我的项目以编写测试。
我的组件中有一个方法如下:
我想为“saveRows()”添加测试。我正在尝试如下:
其他测试通过。saveRows() 的测试失败如下:
基本上,变量(requestPayload)是根据服务方法调用声明和分配的。
在测试时,我应该如何模拟这个或者我应该如何测试这个方法?
angular - Angular typescript TypeError:无法读取未定义的属性'setDomLayout' - 使用ag-grid测试组件
我有一个使用 ag-grid 的组件。
当我对此方法运行测试时,它失败了。
以下是我运行测试时的错误。我尝试使用检测更改(假设 gridapi 应该初始化),但它没有帮助吗?我们甚至可以在测试中跳过这一行吗?即模拟(只有gridapi线)?
组件(已测试)的 gridAPi 未定义。我怎样才能解决这个问题?
更新:
请注意,我不想测试 ag grid api,我的组件(我正在测试)有一个方法(我正在测试)调用
说 gridApi 未定义是失败的。我正在寻找解决此错误的方法,因为我的测试与查看 gridApi 工作无关。所以我可以在测试中模拟 gridApi 吗?我该怎么做?
angular - Angular - 在 Jest/Spectator 单元测试中找不到组件工厂
在我们的应用程序中,我们使用专门的服务来展示零食,以便在必要时能够重新打开已关闭的零食。为服务的一项功能编写单元测试时,出现以下错误:
GsSnackComponent
没有定义为EntryComponent
in,因为SharedModule
在我们的 Angular 版本中它不是必需的(项目从版本 9 开始,最近更新到 12)。我认为在测试配置中声明它就足够了。但显然不是。我们正在使用 Jest 和 Spectator 的组合,失败的单元测试看起来像这样。
我们要测试的功能:
知道还能做什么吗?
angular-spectator - 笑话/旁观者 spyOn ChangeDetectorRef
在我的 Angular 12 应用程序中,我将 aChangeDetectionStrategy.OnPush
用于我的组件,然后ChangeDetectorRef
通过构造函数注入 a 。我想测试我的方法并确保我正在检测更改。它总是告诉我它没有被调用。
我不知道如何检查是否被调用,因为间谍似乎不适用于 ChangeDetectorRef。我尝试的是这样的:
angular - 如何模拟其父对象为可空类型的函数?
这是我的方法。
显然 open() 存在于 defaultView 中。但是,当我尝试模拟它时,我得到一个错误open
不是这个对象的一部分。
jestjs - 如何更改每个单元测试的服务的 MOCK 实现
如何根据测试更改模拟的实现。
这是我试图单元测试的代码。
在我的单元测试之下
我的策略是在第一次测试时将 defaultView 设置为undefined。在下一个测试中,我将更改实现以包含 open 函数,如下所示
如何根据测试更改实现?
感谢您的帮助
编辑
angular - 使用 Jest 和 Spectator 全局导入模块
在我的 Angular 项目中,我删除了 Karma 以便将 Jest.js 与 Spectator 一起使用。它运行良好,但现在,由于与翻译相关的模块有点冗长,我正在尝试将其全局导入。我在 Spectator 的文档中读到这可以在 test.js 中完成,但除非我弄错了,否则该文件由 Karma 使用,而不是由 Jest.js 使用。所以我想知道是否可以使用 Jest/Spectator 进行全局注入,谢谢!
ionic-framework - 离子 - 开玩笑 - 旁观者:找不到模块'@angular/animations'
我尝试将 Jest 与 Spectator 一起使用来测试我的 Ionic 应用程序,但它在每次测试中都需要“@angular/animations”。
下面是一个简单的例子:
运行该测试时出现此错误:
我想知道如何在 Ionic 中使用 Jest/Spectator,谢谢!
angular - 当它们在 spectator.component 之外时如何模拟 / spyOn 常量
我需要减少CHARACTER_LIMIT
测试的值,因为我看不到创建长度超过 5,000 个字符的测试数据有任何意义......
angular - Angular ngneat 旁观者服务测试
我在测试注入 Angular 组件的服务时遇到问题。
这是我面临的一个示例场景。假设我SampleComponent
已经SampleService
注射了。我想测试是否handleAction()
在SampleComponent
调用中运行SampleService.doSomething()
。
试验 1
无论我是否使用and.callThrough()
spyObject,我都会收到以下错误。
Error: <spyOn>: doSomething has already been spied upon
试验 2
我收到以下错误。
试验 3
如果我SampleService
输入providers
,错误是由于注入的依赖项引起的SampleService
。
任何形式的意见和建议将不胜感激!