Angular单元测试中Testbed.inject(serviceName)和fixture.debugElement.injector.get(serviceName)有什么区别?
创始人
2024-10-23 22:30:37
0

Testbed.inject() 和 fixture.debugElement.injector.get() 都是通过依赖注入获取服务的方法。不同之处在于,前者是在 TestBed 组件中获取服务,而后者是在测试组件的 debugElement 元素中获取服务。

下面是一个实际的代码示例:

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

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

  beforeEach(async () => {
    await TestBed.configureTestingModule({
      providers: [MyService],
      declarations: [MyComponent]
    }).compileComponents();
  });

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

  it('should create', () => {
    expect(component).toBeTruthy();
  });

  it('should inject MyService using Testbed.inject', () => {
    const myService = TestBed.inject(MyService);
    expect(myService).toBeTruthy();
  });

  it('should inject MyService using fixture.debugElement.injector.get', () => {
    const debugElement = fixture.debugElement;
    const myService = debugElement.injector.get(MyService);
    expect(myService).toBeTruthy();
  });
});

从上面的代码中可以看出,Testbed.inject(MyService) 是在 TestBed 组件中直接获取服务,它更加简单和直接。fixture.debugElement.injector.get(MyService) 是在测试组件的 debugElement 元素中获取服务,相比之下更加灵活。无论使用那种方式获取服务,我们都可以写出有效的单元测试。

相关内容

热门资讯

黑科技规律(wpk ai辅助)... 黑科技规律(wpk ai辅助)wpk微扑克真的有辅助吗(WPk)竟然存在有挂(有挂秘诀)-哔哩哔哩1...
黑科技科技(wpk ai辅助)... 黑科技科技(wpk ai辅助)wpkai辅助实战效果(WPK)确实是真的有挂(有挂技巧)-哔哩哔哩1...
黑科技代打(wpk ai辅助)... 黑科技代打(wpk ai辅助)wpk最新黑科技(wPK)都是存在有挂(有挂透明挂)-哔哩哔哩1、上手...
黑科技数据(wpk最新黑科技)... 黑科技数据(wpk最新黑科技)wpk有德州外挂吗(wPk)其实真的有挂(有挂详细)-哔哩哔哩1、许多...
黑科技肯定(wpk ai辅助)... 黑科技肯定(wpk ai辅助)wpk德州职业代打(WPK)真是是真的有挂(有挂透视)-哔哩哔哩暗藏猫...
黑科技攻略(wpk ai辅助)... 黑科技攻略(wpk ai辅助)wpk透视外挂(wPK)好像真的是有挂(讲解有挂)-哔哩哔哩;1、上手...
黑科技中牌率(wpk最新黑科技... 黑科技中牌率(wpk最新黑科技)微扑克辅助软件(WPK)竟然真的有挂(了解有挂)-哔哩哔哩1、下载好...
黑科技好友(wpk最新黑科技)... 黑科技好友(wpk最新黑科技)wpk辅助软件(WPK)切实存在有挂(有挂技巧)-哔哩哔哩1、点击下载...
黑科技ai(wpk ai辅助)... 黑科技ai(wpk ai辅助)wpk俱乐部系统(Wpk)切实真的有挂(有挂细节)-哔哩哔哩运wpk俱...
黑科技有挂(wpk ai辅助)... 黑科技有挂(wpk ai辅助)wpk机器人软件(wPK)好像是有挂(了解有挂)-哔哩哔哩亲,关键说明...