问题标签 [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 投票
1 回答
805 浏览

angular - Angular Jest Spectator - 焦点功能不起作用

所以,我有看起来像这样的 Angular 组件

我正在尝试为案例编写测试 - 当用户专注于 div 时,按 enter 应该调用 doSomething()。不幸的是,我不能用 Spectator 来模拟这种情况。我已经尝试过:

并且都与

我想,这个问题出在我的 HTML 模板中,但这些功能也不适用于:

甚至与

请给予一些支持,如何专注于 div 元素,然后按 Enter 键。

0 投票
1 回答
736 浏览

angular - 使用 SnackBar 调用在 Angular 中对服务本身进行单元测试

我对 Angular Material 单元测试和服务单元测试都比较陌生。我为我的应用程序创建了一个服务,我可以使用它调用 Material SnackBar 打开函数并传递一个消息参数。它在需要时在每个组件中都可以正常工作,但是对它的单元测试对我来说很糟糕。

而所谓的测试规范文件是这样的:

我的问题如下:

  1. 为什么我的业力报道说 openSnackBar(message) 方法没有经过测试?我的意思是至少我测试它是否是一个函数。
  2. 我如何才能真正独立地测试这样的服务?

先感谢您。

0 投票
2 回答
802 浏览

web-scraping - 观看英雄联盟比赛并检索数据

我想编写一个脚本来在观看时从英雄联盟游戏中检索数据。我想打开英雄联盟客户端,作为旁观者加入游戏,然后运行脚本,脚本会收集所有游戏数据、英雄伤害、金币等并将其保存到 json文件中。然后在网页上很好地显示该数据,并以图表形式显示金币和玩家伤害。

riot games apis 是否提供这样的东西,或者 GitHub 上是否有任何东西可以用于这种工作?

0 投票
1 回答
330 浏览

angular - 带有旁观者日志的角度组件测试“无法绑定到输入”警告模拟子组件

我在使用 @ngneat/spectator 在 Angular 9 组件测试中模拟子组件时遇到问题。模拟的模拟和传递工作正常,但它会在输入的日志中引发警告(即使它们是有效的)。

简化的组件如下所示:

现在观众测试

测试运行良好并通过。但是,日志会打印警告:

任何想法为什么它会记录警告?

0 投票
1 回答
181 浏览

angular - Angular Spectator,不能使用自定义匹配器

我正在尝试使用旁观者来测试我的 Angular 组件。我想使用其中一个自定义匹配器,但出现错误Property 'toBeEmpty' does not exist on type 'JestMatchersShape<Matchers<void, Element>, Matchers<Promise<void>, Element>>'

该组件非常简单,这是一个简单的测试:

我阅读了旁观者的文档,并没有说任何关于导入自定义匹配器的内容,还有互联网上的示例,他们在使用它们之前没有提到任何要做的事情。

0 投票
1 回答
730 浏览

angular - 使用 jest-mock-extended 和 Spectator 进行角度组件测试

我已经成功地使用jest-mock-extended来测试服务,它对我来说很好用。它简单、易于使用且打字安全。

现在我必须测试 Angular 组件。为此,我找到了Spectator。我设法为没有使用该SpectatorHost功能的服务的简单组件编写测试。现在我必须用我应该模拟的服务来测试一个组件,但我真的很难做到这一点。

出于这个原因,我想知道是否有办法将创建的模拟注入jest-mock-extended到内部生成的组件中SpectatorHost

通过这种方式,我还将使用相同的库来模拟我项目中的服务。

0 投票
1 回答
567 浏览

angular-spectator - 使用 Spectator 测试文本字段输入

我正在尝试使用@ngneat/spectator6.1.1 版测试我的指令

这总是以input.value空白返回。我刚刚开始使用观众。执行此测试的正确方法是什么?

0 投票
1 回答
434 浏览

angular - 如何在 SpectatorRouting 中提供服务模拟

我使用 Spectator 为 Angular 组件实现了一个测试。尝试找到一个解决方案来模拟服务SpectatorRouting。我有如下简单的服务:

我有如下组件:

而且我找不到通过模拟ProductService方法返回值的漂亮解决方案。我实施了一个解决方案,但这很丑:(。

我对这个解决方案有疑问,对我来说,在测试和下一个 spyOn 相同的方法之上创建 const 服务是一种奇怪的方法。我的直觉告诉我,这个模拟应该完全在提供者中定义(使用方法等)。Spectator 可能为 SpectatorRouting 提供了一种更友好的模拟服务方法,但我没有找到。

谢谢你的帮助。

0 投票
1 回答
563 浏览

angular - @HostListener 转义键事件的角度单元测试用例

我的组件中有以下代码

我正在使用 ngneat spectator 作为我的单元测试框架,下面是我需要更正的测试用例

在这里,我无法理解如何模拟转义键事件。任何帮助,将不胜感激。谢谢。

0 投票
1 回答
433 浏览

angular - 观众:单一测试的覆盖提供者(角度通用)

我构建了一个小型 Angular 应用程序,现在我正在编写单元测试。到目前为止一切都很好,但是当我尝试测试我的 authGuard 时遇到了一些问题。我正在使用观众。我在规范的提供程序部分提供了 platformId,但我希望能够覆盖它,以便我可以测试值“服务器”和“浏览器”的场景我的代码用于 authGuard:

和规范文件:

现在,当我运行此覆盖时,配置不起作用。这是意料之中的,因为配置对象在更改之前已经传递。但是如何实现我的目标?我试过这个:

但这给了我一个Error: 'beforeEach' should only be used in 'describe' function令人困惑的错误,因为我没有在本规范中使用 beforeEach。

我觉得像 Spectator 这样的工具可能应该有一个简单的方法来做到这一点,它不是那么奇特,对吧?

任何帮助表示赞赏!