问题标签 [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 回答
591 浏览

angular - Angular Spectator setInput 不适用于非字符串输入

我已经成功地将我的项目转换为使用 Jest 代替 Karma/Jasmine,并且我有很多运行良好的测试。我正在尝试使用 Spectator (^5.2.1) 做一个非常简单的测试,但它不起作用。

我正在尝试测试一个使用 mat-table 呈现表格的库组件。输入是

该组件工作正常,我的所有其他测试工作,直到我尝试使用 setInput 将填充的 mockDataSource 替换为空的。

这是设置:

出于某种原因,'title' 上的 setInput 有效,但 'dataSource' 上的 setInput 无效(使用 BehaviourSubject 或简单数组输入)。

0 投票
4 回答
4348 浏览

javascript - ReferenceError: customElements 未定义

我在一个项目中使用@angular@9.0.7@ngneat/spectator@5.3.1(与Jest),当我运行时Inputmask@5.0.3一切都在应用程序上运行,但是当我尝试运行一个测试套件时它失败了:ng serveng build@PipeInputmask

@Pipe

@Spec

当我运行时ng test,它显示:

ReferenceError: customElements 未定义

PS:这个错误只出现在 Angular 9 中,在 Angular 8 中所有测试都成功通过了。

0 投票
3 回答
737 浏览

angular - 错误:在 Angular 测试中使用 jasmine-marbles 和 Spectator 时未初始化测试调度程序

我的组件订阅了服务中的 Observable,该服务通过 Ngrx 选择器填充,为简洁起见在此概括:

我的组件具有基于此状态值的条件内容,我想测试是否显示了正确的内容。在我的测试中,我为服务提供了一个模拟,如下所示:

当我运行测试时,我得到:

错误:未初始化测试调度程序

通过搜索,我尝试将编译目标设置为 ES5

我此时也在使用最新版本的 jasmine-marbles:0.6.0

我究竟做错了什么?

0 投票
2 回答
1596 浏览

angular - 用 Spectator 模拟 NgRx 商店

我正在尝试与 Angular、Jest 和 Spectator 一起编写单元测试。现在我正在努力嘲笑 NgRx 商店。MockStore在尝试获取从 Spectator 实例提供的 NgRx 实例时,我收到“No provider for MockStore”错误。

我已经阅读了有关模拟和单元测试的 NgRx 文档,并且通过阅读文档,我可以在不使用 Spectator 的情况下模拟 NgRx 存储,我尝试在谷歌上搜索寻求帮助,但似乎找不到一起模拟 NgRx 存储的示例和 Spectator 一起,我在 NgRx/store Gitter 上留言,看看是否有人能帮助我。

这是我的代码的样子:

但正如我所说,一旦我尝试通过(也尝试过)MockStore从 Spectator获取实例,我就会收到“No provider for MockStore”-错误。我也尝试过提供这样的:spectator.injectspectator.getMockStore

但是显然,我收到错误“没有商店提供者”。

也许这里有人可以帮助我?提前致谢!

0 投票
1 回答
975 浏览

angular - Angular Spectator setInput - 如何传递对象

也许它和这个问题一样的错误......

在我的旁观者测试中,我想测试将输入传递给组件:

sidebar.component.ts:

sidebar.component.html:

sidebar.component.spec.ts:

我只是假设setInput()它不能正常工作,但也许我只是忘记了要添加到我的设置中的东西?

或者可能是我需要考虑的与异步管道相关的一些问题?

非常欢迎任何其他提示测试设置中缺少或错误的内容,非常感谢。

0 投票
0 回答
446 浏览

angular - 如何在 Angular 中正确测试解析器服务的返回

我发现在 Angular 中进行测试非常困难。为了处理尽可能少的样板文件,我尝试进行 jest/spectator 单元测试。

我想测试一个解析器。它应该从 catchError() 返回一个 Contact[] 或 EMPTY 类型的 Observable。结果只有两种。

以下是我到目前为止所拥有的,我知道它很粗糙。

}

0 投票
0 回答
92 浏览

unit-testing - 观众 - 离开输入字段

我正在使用 Spectator 测试使用 ag-grid 的 Angular 应用程序。我正在尝试单击一个单元格,输入一些值并离开该单元格。(按回车键或单击页面上的其他位置)

2第一行工作,我可以选择第一个单元格,然后我可以更改值。问题是第三行,我无法离开输入。

我也尝试了以下方法:spectator.keyboard.pressEnter();

0 投票
1 回答
785 浏览

angular - 使用 Jest 和 Spectator 测试 Angular 拦截器响应

我正在尝试测试一个修改来自 HTTP 请求的响应的拦截器。

这是我当前的代码:

及其对应的测试文件我到目前为止:


请注意,我使用的是 Angular 10.xy、Jest 26.xy 和 Spectator 5.xy

0 投票
1 回答
330 浏览

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

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

简化的组件如下所示:

现在观众测试

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

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

0 投票
1 回答
225 浏览

angular-spectator - 如何测试是否检查了 html 输入类型单选

我的 component.html 中有这个 HTML:

如何进行旁观者查询并期望测试此输入元素是否被选中?

我尝试过:

但我得到了错误:

我已经尝试过:

但后来我得到了错误:

如何测试这个简单的 HTML 输入元素?


谢谢索伦_