Angular的fixture的debugElement为NULL。
创始人
2024-10-24 03:00:58
0次

在Angular中,debugElement为NULL通常是因为fixture还没有完成初始化。解决这个问题的方法是使用async/await或者使用fixture的detectChanges方法来确保fixture的初始化完成。

下面是一个使用async/await的示例代码:

import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing';
import { MyComponent } from './my.component';

describe('MyComponent', () => {
  let component: MyComponent;
  let fixture: ComponentFixture;

  beforeEach(waitForAsync(() => {
    TestBed.configureTestingModule({
      declarations: [ MyComponent ]
    })
    .compileComponents();
  }));

  beforeEach(() => {
    fixture = TestBed.createComponent(MyComponent);
    component = fixture.componentInstance;
  });

  it('should create', async () => {
    fixture.detectChanges();
    await fixture.whenStable(); // 等待fixture初始化完成
    expect(component).toBeTruthy();
  });
});

在上述代码中,我们使用了async/await来等待fixture初始化完成。在测试方法中,我们首先调用fixture.detectChanges()来触发组件的变化检测,然后使用fixture.whenStable()来等待fixture初始化完成。

另一种解决方法是使用fixture的detectChanges方法:

import { ComponentFixture, TestBed } from '@angular/core/testing';
import { MyComponent } from './my.component';

describe('MyComponent', () => {
  let component: MyComponent;
  let fixture: ComponentFixture;

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [ MyComponent ]
    })
    .compileComponents();

    fixture = TestBed.createComponent(MyComponent);
    component = fixture.componentInstance;
  });

  it('should create', () => {
    fixture.detectChanges();
    fixture.whenStable().then(() => { // 使用whenStable方法来等待fixture初始化完成
      expect(component).toBeTruthy();
    });
  });
});

在上述代码中,我们仍然使用fixture.detectChanges()来触发组件的变化检测,然后使用fixture.whenStable().then()来等待fixture初始化完成,并在回调函数中进行断言。

无论使用哪种方法,都可以确保fixture初始化完成后再访问debugElement。

相关内容

热门资讯

玩家必用!皮皮斗地主透视挂功能... 玩家必用!皮皮斗地主透视挂功能插件,皮皮斗地主一直真的有透视挂插件1、操作简单,无需皮皮斗地主手机版...
今日公布!海安麻将开挂功能ap... 今日公布!海安麻将开挂功能app,海安麻将原来真的有开挂app一、海安麻将游戏安装教程牌型概率发牌机...
盘点十款!莆仙吹牛开挂功能软件... 盘点十款!莆仙吹牛开挂功能软件,莆仙吹牛总是是有开挂软件莆仙吹牛能透视中分为三种模型:莆仙吹牛模拟器...
玩家攻略推荐!奈曼麻将透视功能... 玩家攻略推荐!奈曼麻将透视功能攻略,奈曼麻将确实存在有透视攻略1、金币登录送、破产送、升级送、活动送...
我来教教你!十三十三水辅助功能... 我来教教你!十三十三水辅助功能app,十三十三水竟然真的是有辅助app1、在十三十三水插件功能辅助器...
来一盘!小巷娱乐透视挂功能教程... 来一盘!小巷娱乐透视挂功能教程,小巷娱乐确实真的有透视挂教程1、玩家可以在小巷娱乐线上大神俱乐部对游...
新手必备!微乐捉老麻子透视挂功... 新手必备!微乐捉老麻子透视挂功能教程,微乐捉老麻子好像是真的有透视挂教程微乐捉老麻子透视方法中分为三...
发现一款!同城跑胡子合集透视挂... 发现一款!同城跑胡子合集透视挂功能教程,同城跑胡子合集切实是真的有透视挂教程1、下载好同城跑胡子合集...
玩家必备科普!名发导航透视功能... 玩家必备科普!名发导航透视功能方法,名发导航都是有透视方法1、完成名发导航有辅助插件,帮助玩家取得所...
攻略讲解!火神大厅透视挂功能教... 攻略讲解!火神大厅透视挂功能教程,火神大厅真是是有透视挂教程小薇(辅助器软件下载)致您一封信;亲爱火...