基于类的路由解析器最近在 Angular 中已被弃用,取而代之的是功能解析器。请参阅此处的文档。
有人有单元测试这些功能解析器的示例吗?
我在 Angular 文档中没有找到任何示例,并且 Angular 测试环境很难配置。例如,一个单元如何测试文档中的示例函数?
export const heroResolver: ResolveFn<Hero> =
(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) => {
return inject(HeroService).getHero(route.paramMap.get('id')!);
};
Run Code Online (Sandbox Code Playgroud)
我使用的解析器与此基本相同,因为它调用某些服务来通过 ID 获取实体。当尝试在 Jest 中配置调用解析器时,出现以下错误:
NG0203: inject() must be called from an injection context such as a constructor, a factory function, a field initializer, or a function used with `EnvironmentInjector#runInContext`. Find more at https://angular.io/errors/NG0203
Run Code Online (Sandbox Code Playgroud)