Angular 7 TestBed.overrideProvider对ActivateRoute不起作用。
创始人
2024-10-16 20:00:51
0

在Angular 7中,TestBed.overrideProviderActivatedRoute不起作用的原因是,ActivatedRoute是由RouterTestingModule提供的,并且在编译时已经被预先配置好了。

要解决这个问题,可以使用RouterTestingModule.withRoutes([])方法来创建自定义的路由配置,并在TestBed.configureTestingModule中使用这个配置来替代预先配置的路由。

以下是一个示例代码,演示如何使用TestBed.overrideProvider覆盖ActivatedRoute:

import { TestBed } from '@angular/core/testing';
import { RouterTestingModule } from '@angular/router/testing';
import { ActivatedRoute } from '@angular/router';

describe('YourComponent', () => {
  let activatedRoute: ActivatedRoute;

  beforeEach(() => {
    TestBed.configureTestingModule({
      imports: [RouterTestingModule.withRoutes([])],
      providers: [
        {
          provide: ActivatedRoute,
          useValue: {
            snapshot: {
              paramMap: {
                get: (key: string) => {
                  // return the value based on your test case
                }
              }
            }
          }
        }
      ]
    });

    // Get the injected instance of ActivatedRoute
    activatedRoute = TestBed.get(ActivatedRoute);
  });

  it('should do something with ActivatedRoute', () => {
    // Write your test case using activatedRoute
  });
});

在上述示例中,我们使用RouterTestingModule.withRoutes([])方法创建了一个自定义的路由配置。然后,我们使用TestBed.configureTestingModule配置了ActivatedRoute的覆盖提供者,并返回了一个虚拟的ActivatedRoute实例,以便在测试中使用。

请根据你的测试需求对示例代码进行适当的修改,并根据你的测试场景使用ActivatedRoute的不同属性和方法。

相关内容

热门资讯

总算了解!wepoker公共底... 1、总算了解!wepoker公共底牌,aapoker发牌逻辑,教你教程(有挂攻略)。2、aapoke...
今日头条!wepoker挂,h... 今日头条!wepoker挂,hhpoker底牌透视脚本,可靠技巧(有挂技巧);亲真的是有正版授权,小...
1.9分钟了解!wepoker... 1.9分钟了解!wepoker破解器激活码,aapoker怎么开辅助器,大神讲解(有挂神器)科技教程...
我来教大家!wepoker游戏... 我来教大家!wepoker游戏的安装教程,德普之星透视软件免费入口官网,攻略教程(有挂神器)关于德普...
一分钟秒懂!pokemmo辅助... 一分钟秒懂!pokemmo辅助器手机版下载,智星德州插件怎么下载,2025新版(有挂技巧);人气非常...
科技分享!德普之星私人局辅助器... 科技分享!德普之星私人局辅助器,pokernow辅助控制,可靠技巧(有挂教程);人气非常高,ai更新...
大神推荐!we-poker辅助... 自定义wepoker一直输的号能继续打吗系统规律,只需要输入自己想要的开挂功能,一键便可以生成出微扑...
必知教程!sohoo竞技联盟辅... 1、必知教程!sohoo竞技联盟辅助器,wejoker辅助软件价格,安装教程(有挂方法);详细教程。...
如何分辨真伪!wepoker私... 如何分辨真伪!wepoker私人局可以透视,wepoker底牌透视脚本,AI教程(有挂教程)1、点击...
玩家必备教程!wepoker有... 玩家必备教程!wepoker有辅助功能吗,wepoker数据分析工具,wpk教程(有挂技巧);wep...