Angular 7组件测试正在使用原始服务而不是模拟服务。
创始人
2024-10-17 07:30:39
0

要解决Angular 7组件测试使用原始服务而不是模拟服务的问题,你可以按照以下步骤进行操作:

  1. 创建一个模拟服务:
// 模拟服务
@Injectable()
export class MockDataService {
  getData(): string {
    return 'Mock Data';
  }
}
  1. 在测试中提供模拟服务:
import { TestBed } from '@angular/core/testing';
import { MyComponent } from './my.component';
import { DataService } from './data.service';
import { MockDataService } from './mock-data.service';

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

  beforeEach(() => {
    TestBed.configureTestingModule({
      declarations: [MyComponent],
      providers: [
        // 使用模拟服务替换原始服务
        { provide: DataService, useClass: MockDataService }
      ]
    });

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

  it('should use mock data', () => {
    // 断言组件使用了模拟服务返回的数据
    expect(component.data).toBe('Mock Data');
  });
});
  1. 在组件中使用服务:
import { Component } from '@angular/core';
import { DataService } from './data.service';

@Component({
  selector: 'app-my',
  template: `{{ data }}`
})
export class MyComponent {
  data: string;

  constructor(private dataService: DataService) {
    this.data = this.dataService.getData();
  }
}

通过上述步骤,你可以在Angular 7中进行组件测试时使用模拟服务替代原始服务。

相关内容

热门资讯

两分钟安装!微乐小程序黑科技,... 两分钟安装!微乐小程序黑科技,微乐兰州麻将小程序辅助(开挂)果然是真的挂(2026)1、很好的工具软...
软件辅助挂!微乐小程序免费黑科... 软件辅助挂!微乐小程序免费黑科技,小程序跑得快的技巧(透视)都是真的有挂(哔哩哔哩)1、下载好微乐小...
八分钟脚本!微乐小程序免费黑科... 八分钟脚本!微乐小程序免费黑科技,微乐河南小程序微乐辅助脚本(开挂)切实是有挂(2026)1、任何微...
黑科技插件!微乐小程序黑科技,... 黑科技插件!微乐小程序黑科技,微乐家乡小程序修改器(透视)本来有挂(哔哩哔哩)1、微乐家乡小程序修改...
6分钟神器!微乐小程序黑科技,... 6分钟神器!微乐小程序黑科技,微信小程序微乐安徽辅助苹果(开挂)总是存在有挂(2026)1.微乐小程...
据悉!微乐小程序免费黑科技,微... 据悉!微乐小程序免费黑科技,微信微乐有挂没有(透视)一贯是真的挂(哔哩哔哩)1、许多玩家不知道微乐小...
8分钟辅助!微乐小程序免费黑科... 8分钟辅助!微乐小程序免费黑科技,微乐小程序黑科技下载ios(开挂)好像有挂(2026)1、下载好微...
相较于以往!微乐小程序免费黑科... 相较于以往!微乐小程序免费黑科技,微信小程序微乐辅助器ios(透视)真是真的是有挂(哔哩哔哩)1、微...
2分钟神器!微乐小程序黑科技,... 2分钟神器!微乐小程序黑科技,微乐小程序辅助器免费(开挂)真是真的有挂(2026)1)微乐小程序黑科...
透视了解!微乐小程序黑科技,微... 透视了解!微乐小程序黑科技,微乐家乡麻辣自建房(透视)好像真的是有挂(哔哩哔哩)1、点击下载安装,微...