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

angular - Angular:使用 Spectator 模拟路由器 url

我使用createRoutingFactorywithSpectator但出现此错误:

我按照文档创建了我的测试文件:

使用以下方法修复了子组件上的类似错误ng-mocks

但这一次,this.router.url正在我正在测试的组件中使用,而不是在孩子中使用。

我尝试了这样的不同方法:

(更多信息:https ://pretagteam.com/question/how-to-set-data-on-activatedroute-for-spectator-test )但没有运气。

我也没有得到与在 Spectator 中使用createRoutingFactorycreateServiceFactorywith的区别。mocks: [Router](更多信息https://netbasal.com/spectator-v4-a-powerful-tool-to-simplify-your-angular-tests-bd65a0bf317e

0 投票
1 回答
24 浏览

angular - 单元测试功能 ehich 返回可观察对象的可观察对象

我遇到了这样的单元测试功能问题:

我想根据 spyOn 来做到这一点。像这样的东西:

我有一个错误:

TypeError:无法读取未定义的属性(读取“管道”)

这很明显,因为 dataService.clearData 是一个模拟,所以我需要从这个方法返回一些值:

这个解决方案很糟糕,因为无法触发其他服务调用。

你知道如何测试这个功能吗?

0 投票
0 回答
114 浏览

angular - 在 Angular 13 上使用 Spectator (with Jest) 失败并出现错误“找不到模块'@angular/core/testing'”

一个应用程序在 Angular 版本 12 上运行。测试是通过基于 Jest 的 Spectator完成的。

如何升级 Angular 13 并拥有一个有效的 Spectator (Jest) 测试环境?

如何重现?

这个示例 Angular 12 项目中,您克隆了一个 Angular 12 项目。然后在 README.md 中找到将项目升级到 Angular 13 的步骤。下一步是将 Spectator 从 7.1.0 升级到 10.0.0。这将失败,所以我附加了一个“--force--allow-dirty”。好的,似乎工作。启动“jest --watch”会显示错误。

好的,我在慢动作中做了什么:

尝试 1:当我使用 Spectator 7.1.0 将项目从 Angular 12 升级到 13 时,我在使用 Spectator 进行测试时不断收到此错误消息:

错误:找不到模块“@angular/core/testing”。

尝试 2:正确运行 Angular 12 并将 Spectator 从 7.1.0 升级到 10.0.0,所以另一条路线,我得到:

错误:来自@ngneat/spectator@10.0.0 的对等@angular/animations@">= 13.0.0"

尝试 3:将 Angular 升级到 13 并将 Spectator 一次性设置为 10.0.0 也不起作用。

在 Angular 12 和 Spectator 7.1.0 之前,我的环境运行良好。

1 - jest.config.js:

2 - jestSetup.js:

3 - tsconfig.spec.ts:

4 - 我卸载了 Karma/Jasmine并删除了“test.ts”和“karma.config.ts”文件。这在各种手册中都有建议。

0 投票
1 回答
66 浏览

javascript - 开玩笑的异步测试让我很困惑

这是场景:

使用 Jest/Spectator 测试可观察的 RXJS,但似乎无法通过当前设置进入我想要测试的代码行

组件代码 -

测试-

我遇到的问题是,当测试运行时,我可以看到我收到了 403,但没有调用 router.navigate。如果我在组件中 console.log 订阅块的那一部分,我会看到它从未到达过。

我如何测试那行代码?