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

angular - 如何从另一个库导入模块以进行 Angular Jest 测试?

import如果我从相对路径或从 node_modules 导入,我可以成功地对使用命令的组件运行开玩笑测试。所以,这适用于 my.component.spec.ts:

在我的组件模板中,我想利用一些共享管道,它们是项目中另一个库的一部分。理想情况下,它看起来像这样:

但是,这失败了:

无法从 ... 中找到模块“@my-project/shared/pipes”

我已经尝试在 tsconfig.spec.json 中使用它,但它没有任何区别。

我正在使用 Jest v26 和 Angular 10。如何获得测试以成功导入我需要的模块?

在我的 package.json 中,我有:

0 投票
0 回答
40 浏览

jasmine - 观众/茉莉花更换服务电话

我正在使用ngneat/spectator进行测试,它使用 jasmine。我试图让我注入的服务伪造一个调用和返回值,但真正的服务被调用了。

我像这样创建了工厂:

然后在测试中,我尝试通过模拟服务替换调用。

当我的组件调用postRequest它不是使用假版本时,它调用的是实际RequestService方法。

显然,我没有正确地将事情联系起来,但是对于茉莉花和一般测试来说真的很陌生,我不确定是什么。是通过组件的RequestService构造函数注入的,并且没有明确列为组件的提供者。

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 回答
195 浏览

angular - 为使用 routerLink、Spectator 和 Jest 的 Angular 组件编写测试时出现“TypeError:将循环结构转换为 JSON”错误

在为我的应用程序设置新的测试平台时,我正在尝试慢慢消除应用程序中复杂模块中的错误。我正在利用观众的路由工厂 api 创建我的测试床(https://github.com/ngneat/spectator#testing-with-routing

现在事情似乎工作正常,直到我[routerLink]在我的模板中添加一个带有指令的锚点<a [routerLink]="['/signup']" class="auth-link">Sign up</a>,这出于某种原因会产生以下错误:

而且我真的不知道如何进一步诊断

0 投票
0 回答
23 浏览

javascript - 观众不改变/使用不同的模拟

我有一个测试组件和一些需要观众使用不同模拟的测试。问题是我无法让观众在测试进行时动态更改它们。

基本上我有 2 个从 .json 文件导入的模拟,一个是正确的,另一个是有错误的。

正确:profitability-customer.json 无效:profitability-customer-JSON-error-1.json

在测试 8 中,我需要观众将模拟切换为无效的。

这是我所拥有的:

0 投票
0 回答
19 浏览

php - OpenAPI / Spectator 不验证响应定义

在 phpunit 中,我使用 Spectator 验证 API 响应是否与 OpenAPI 3.0 规范兼容。尽管在使用时似乎没有任何响应对象得到验证$response->assertValidRequest()->assertValidResponse(200);

将其响应对象定义为的控制器

不会导致任何验证错误。响应对象被解析,fi。将 http 代码更改为 201 会导致预期的错误。

生成的 OpenAPI 规范是有效的,不会在 Swagger 或 Stoplight 上显示任何错误。我尝试调试 Spectator,但这很难。

任何人有想法在哪里寻找进一步的线索?关于 Spectator 与 OpenAPI 结合的任何好的示例或文档?