问题标签 [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 - Angular Spectator setInput 不适用于非字符串输入
我已经成功地将我的项目转换为使用 Jest 代替 Karma/Jasmine,并且我有很多运行良好的测试。我正在尝试使用 Spectator (^5.2.1) 做一个非常简单的测试,但它不起作用。
我正在尝试测试一个使用 mat-table 呈现表格的库组件。输入是
该组件工作正常,我的所有其他测试工作,直到我尝试使用 setInput 将填充的 mockDataSource 替换为空的。
这是设置:
出于某种原因,'title' 上的 setInput 有效,但 'dataSource' 上的 setInput 无效(使用 BehaviourSubject 或简单数组输入)。
javascript - ReferenceError: customElements 未定义
我在一个项目中使用@angular@9.0.7,@ngneat/spectator@5.3.1
(与Jest),当我运行时Inputmask@5.0.3
一切都在应用程序上运行,但是当我尝试运行一个测试套件时它失败了:ng serve
ng build
@Pipe
Inputmask
@Pipe
:
@Spec
:
当我运行时ng test
,它显示:
ReferenceError: customElements 未定义
PS:这个错误只出现在 Angular 9 中,在 Angular 8 中所有测试都成功通过了。
angular - 错误:在 Angular 测试中使用 jasmine-marbles 和 Spectator 时未初始化测试调度程序
我的组件订阅了服务中的 Observable,该服务通过 Ngrx 选择器填充,为简洁起见在此概括:
我的组件具有基于此状态值的条件内容,我想测试是否显示了正确的内容。在我的测试中,我为服务提供了一个模拟,如下所示:
当我运行测试时,我得到:
错误:未初始化测试调度程序
通过搜索,我尝试将编译目标设置为 ES5
我此时也在使用最新版本的 jasmine-marbles:0.6.0
我究竟做错了什么?
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.inject
spectator.get
MockStore
但是显然,我收到错误“没有商店提供者”。
也许这里有人可以帮助我?提前致谢!
angular - Angular Spectator setInput - 如何传递对象
也许它和这个问题一样的错误......
在我的旁观者测试中,我想测试将输入传递给组件:
sidebar.component.ts:
sidebar.component.html:
sidebar.component.spec.ts:
我只是假设setInput()
它不能正常工作,但也许我只是忘记了要添加到我的设置中的东西?
或者可能是我需要考虑的与异步管道相关的一些问题?
非常欢迎任何其他提示测试设置中缺少或错误的内容,非常感谢。
angular - 如何在 Angular 中正确测试解析器服务的返回
我发现在 Angular 中进行测试非常困难。为了处理尽可能少的样板文件,我尝试进行 jest/spectator 单元测试。
我想测试一个解析器。它应该从 catchError() 返回一个 Contact[] 或 EMPTY 类型的 Observable。结果只有两种。
以下是我到目前为止所拥有的,我知道它很粗糙。
}
unit-testing - 观众 - 离开输入字段
我正在使用 Spectator 测试使用 ag-grid 的 Angular 应用程序。我正在尝试单击一个单元格,输入一些值并离开该单元格。(按回车键或单击页面上的其他位置)
2第一行工作,我可以选择第一个单元格,然后我可以更改值。问题是第三行,我无法离开输入。
我也尝试了以下方法:spectator.keyboard.pressEnter();
angular - 使用 Jest 和 Spectator 测试 Angular 拦截器响应
我正在尝试测试一个修改来自 HTTP 请求的响应的拦截器。
这是我当前的代码:
及其对应的测试文件我到目前为止:
请注意,我使用的是 Angular 10.xy、Jest 26.xy 和 Spectator 5.xy
angular - 带有旁观者日志的角度组件测试“无法绑定到输入”警告模拟子组件
我在使用 @ngneat/spectator 在 Angular 9 组件测试中模拟子组件时遇到问题。模拟的模拟和传递工作正常,但它会在输入的日志中引发警告(即使它们是有效的)。
简化的组件如下所示:
现在观众测试
测试运行良好并通过。但是,日志会打印警告:
任何想法为什么它会记录警告?
angular-spectator - 如何测试是否检查了 html 输入类型单选
我的 component.html 中有这个 HTML:
如何进行旁观者查询并期望测试此输入元素是否被选中?
我尝试过:
但我得到了错误:
我已经尝试过:
但后来我得到了错误:
如何测试这个简单的 HTML 输入元素?
谢谢索伦_