AngularFireDatabase,Jest和单元测试,如何创建可重用的类存根?
创始人
2024-10-24 21:01:29
0次

要创建可重用的类存根,您可以使用Jest提供的mock功能和AngularFireDatabase提供的AngularFireDatabaseStub。

下面是一个示例解决方案:

  1. 创建一个可重用的类存根
// database-stub.ts

export class AngularFireDatabaseStub {
  // 定义需要的方法和属性,并提供默认的实现
  object(path: string) {
    return {
      valueChanges: jest.fn().mockReturnValue({}),
      set: jest.fn(),
      update: jest.fn(),
      remove: jest.fn()
      // 可根据需要添加其他方法
    };
  }
}
  1. 在单元测试中使用类存根
// app.component.spec.ts

import { TestBed } from '@angular/core/testing';
import { AngularFireDatabase } from '@angular/fire/database';
import { AngularFireDatabaseStub } from './database-stub';

describe('AppComponent', () => {
  beforeEach(async () => {
    await TestBed.configureTestingModule({
      declarations: [AppComponent],
      providers: [
        // 使用 AngularFireDatabaseStub 替代 AngularFireDatabase
        { provide: AngularFireDatabase, useClass: AngularFireDatabaseStub }
      ]
    }).compileComponents();
  });

  it('should create the app', () => {
    const fixture = TestBed.createComponent(AppComponent);
    const app = fixture.componentInstance;
    expect(app).toBeTruthy();
  });

  // 添加其他测试用例
});

在上面的示例中,我们使用AngularFireDatabaseStub替代了AngularFireDatabase。在这个存根中,我们定义了需要的方法,并使用Jest的mock函数提供了默认的实现。

在单元测试中,我们通过提供AngularFireDatabaseStub来替代AngularFireDatabase。这样,在测试期间,对AngularFireDatabase的调用将被重定向到AngularFireDatabaseStub中定义的方法。

这样,您就可以在单元测试中使用可重用的类存根,并对其进行自定义以满足不同的测试需求。

相关内容

热门资讯

推荐一款!pp开挂脚本软件,p... 推荐一款!pp开挂脚本软件,pp都是有开挂专业技巧1、金币登录送、破产送、升级送、活动送。详细领取联...
终于清楚!娱网麻将透视脚本软件... 终于清楚!娱网麻将透视脚本软件,娱网麻将一直真的有透视解谜神器运娱网麻将辅助工具,进入游戏界面。进入...
揭秘几款!龙行麻将辅助脚本软件... 揭秘几款!龙行麻将辅助脚本软件,龙行麻将原来有辅助关于教程所有人都在同一条线上,像星星一样排成一排,...
我来教大家!椰岛竞技辅助脚本软... 我来教大家!椰岛竞技辅助脚本软件,椰岛竞技确实有辅助必备工具1、这是跨平台的椰岛竞技轻量版有透视,在...
攻略讲解!欢乐麻将M透视脚本软... 攻略讲解!欢乐麻将M透视脚本软件,欢乐麻将M果然有透视揭幕方法1、下载好欢乐麻将M透视辅助下载之后点...
最新通报!边锋绍兴麻将辅助器脚... 最新通报!边锋绍兴麻将辅助器脚本软件,边锋绍兴麻将原来是真的有辅助器开挂工具1、许多玩家不知道边锋绍...
重大来袭!情怀五子棋辅助器脚本... 重大来袭!情怀五子棋辅助器脚本软件,情怀五子棋好像真的是有辅助器揭露app1、情怀五子棋透视辅助软件...
分享认知!九道麻将开挂脚本软件... 分享认知!九道麻将开挂脚本软件,九道麻将好像有开挂普及脚本九道麻将是不是有人用挂微扑克wpk插件教程...
实操分享!开元棋牌辅助脚本软件... 实操分享!开元棋牌辅助脚本软件,开元棋牌一直有辅助了解神器1、每一步都需要思考,不同水平的挑战开元棋...
玩家必看教程!追忆透视脚本软件... 玩家必看教程!追忆透视脚本软件,追忆都是是有透视解迷攻略1、追忆辅助软件下载优化,追忆底牌透视脚本科...