问题标签 [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.

0 投票
0 回答
287 浏览

angular - 与旁观者的角玩笑:组件测试中的模拟服务方法输出

我在用,

角 CLI:10.2.3

节点:12.22.1

我正在尝试使用 Jest/Spectator 设置我的项目以编写测试。

我的组件中有一个方法如下:

我想为“saveRows()”添加测试。我正在尝试如下:

其他测试通过。saveRows() 的测试失败如下:

基本上,变量(requestPayload)是根据服务方法调用声明和分配的。

在测试时,我应该如何模拟这个或者我应该如何测试这个方法?

0 投票
0 回答
120 浏览

angular - Angular typescript TypeError:无法读取未定义的属性'setDomLayout' - 使用ag-grid测试组件

我有一个使用 ag-grid 的组件。

当我对此方法运行测试时,它失败了。

以下是我运行测试时的错误。我尝试使用检测更改(假设 gridapi 应该初始化),但它没有帮助吗?我们甚至可以在测试中跳过这一行吗?即模拟(只有gridapi线)?

组件(已测试)的 gridAPi 未定义。我怎样才能解决这个问题?

更新:

请注意,我不想测试 ag grid api,我的组件(我正在测试)有一个方法(我正在测试)调用

说 gridApi 未定义是失败的。我正在寻找解决此错误的方法,因为我的测试与查看 gridApi 工作无关。所以我可以在测试中模拟 gridApi 吗?我该怎么做?

0 投票
0 回答
42 浏览

angular - Angular - 在 Jest/Spectator 单元测试中找不到组件工厂

在我们的应用程序中,我们使用专门的服务来展示零食,以便在必要时能够重新打开已关闭的零食。为服务的一项功能编写单元测试时,出现以下错误:

GsSnackComponent没有定义EntryComponentin,因为SharedModule在我们的 Angular 版本中它不是必需的(项目从版本 9 开始,最近更新到 12)。我认为在测试配置中声明它就足够了。但显然不是。我们正在使用 Jest 和 Spectator 的组合,失败的单元测试看起来像这样。

我们要测试的功能:

知道还能做什么吗?

0 投票
0 回答
53 浏览

angular-spectator - 笑话/旁观者 spyOn ChangeDetectorRef

在我的 Angular 12 应用程序中,我将 aChangeDetectionStrategy.OnPush用于我的组件,然后ChangeDetectorRef通过构造函数注入 a 。我想测试我的方法并确保我正在检测更改。它总是告诉我它没有被调用。

我不知道如何检查是否被调用,因为间谍似乎不适用于 ChangeDetectorRef。我尝试的是这样的:

0 投票
1 回答
41 浏览

angular - 如何模拟其父对象为可空类型的函数?

这是我的方法。

显然 open() 存在于 defaultView 中。但是,当我尝试模拟它时,我得到一个错误open不是这个对象的一部分。

0 投票
1 回答
42 浏览

jestjs - 如何更改每个单元测试的服务的 MOCK 实现

如何根据测试更改模拟的实现。

这是我试图单元测试的代码。

在我的单元测试之下

我的策略是在第一次测试时将 defaultView 设置为undefined。在下一个测试中,我将更改实现以包含 open 函数,如下所示

如何根据测试更改实现?

感谢您的帮助

编辑

0 投票
1 回答
75 浏览

angular - 使用 Jest 和 Spectator 全局导入模块

在我的 Angular 项目中,我删除了 Karma 以便将 Jest.js 与 Spectator 一起使用。它运行良好,但现在,由于与翻译相关的模块有点冗长,我正在尝试将其全局导入。我在 Spectator 的文档中读到这可以在 test.js 中完成,但除非我弄错了,否则该文件由 Karma 使用,而不是由 Jest.js 使用。所以我想知道是否可以使用 Jest/Spectator 进行全局注入,谢谢!

0 投票
0 回答
68 浏览

ionic-framework - 离子 - 开玩笑 - 旁观者:找不到模块'@angular/animations'

我尝试将 Jest 与 Spectator 一起使用来测试我的 Ionic 应用程序,但它在每次测试中都需要“@angular/animations”。

下面是一个简单的例子:

运行该测试时出现此错误:

我想知道如何在 Ionic 中使用 Jest/Spectator,谢谢!

0 投票
0 回答
29 浏览

angular - 当它们在 spectator.component 之外时如何模拟 / spyOn 常量

我需要减少CHARACTER_LIMIT测试的值,因为我看不到创建长度超过 5,000 个字符的测试数据有任何意义......

0 投票
1 回答
145 浏览

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

任何形式的意见和建议将不胜感激!