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的不同属性和方法。

相关内容

热门资讯

第3分钟窍要!德扑之心免费透视... 第3分钟窍要!德扑之心免费透视(透视)一贯是有辅助下载(哔哩哔哩)该软件可以轻松地帮助玩家将德扑之心...
第七分钟阶段!hhpoker怎... 第七分钟阶段!hhpoker怎么破解(透视)竟然有辅助开挂(哔哩哔哩)该软件可以轻松地帮助玩家将hh...
九分钟秘籍!wepoker私人... 九分钟秘籍!wepoker私人局俱乐部辅助(透视)总是是有辅助下载(哔哩哔哩)1、这是跨平台的wep...
7分钟课程!wepoker究竟... 7分钟课程!wepoker究竟有没有透视(透视)切实是真的有辅助安装(哔哩哔哩)1、用户打开应用后不...
第三分钟教程书!wepoker... 第三分钟教程书!wepoker轻量版辅助(透视)果然有辅助教程(哔哩哔哩)该软件可以轻松地帮助玩家将...
六分钟大纲!wepoker插件... 六分钟大纲!wepoker插件辅助(透视)本来是有辅助透视(哔哩哔哩)运wepoker插件辅助辅助工...
第六分钟策略!拱趴大菠萝挂哪里... 第六分钟策略!拱趴大菠萝挂哪里(透视)好像是真的有辅助神器(哔哩哔哩)1、拱趴大菠萝挂哪里辅助软件下...
5分钟技法!wpk透视工作室(... 5分钟技法!wpk透视工作室(透视)切实是有辅助教程(哔哩哔哩)wpk透视工作室脚本下载中分为三种模...
8分钟阶段!wepoker透视... 8分钟阶段!wepoker透视脚本安卓(透视)其实有辅助下载(哔哩哔哩)1、wepoker透视脚本安...
3分钟法门!如何判断wpk辅助... 3分钟法门!如何判断wpk辅助软件的真假(透视)原来是真的有辅助教程(哔哩哔哩)1、起透看视 如何判...