Angular 16单元测试与Jasmine->signInWithEmailAndPassword(来自angular/fire/auth)spy工作不正常
创始人
2024-10-15 11:33:11
0

要解决Angular 16中使用Jasmine对signInWithEmailAndPassword(来自angular/fire/auth)进行spy的工作异常的问题,可以尝试以下步骤:

  1. 确保在测试文件顶部导入所需的依赖项:
import { AngularFireAuth } from '@angular/fire/auth';
import { TestBed } from '@angular/core/testing';
  1. 在测试中创建一个spy对象,以模拟signInWithEmailAndPassword方法:
const mockAuth = jasmine.createSpyObj('AngularFireAuth', ['signInWithEmailAndPassword']);
  1. 在测试套件(describe)中的beforeEach函数中配置测试环境并将mockAuth注入到测试组件中:
beforeEach(async(() => {
  TestBed.configureTestingModule({
    providers: [
      { provide: AngularFireAuth, useValue: mockAuth }
    ]
  }).compileComponents();
}));
  1. 在测试用例(it)中使用spy对象并设置返回值:
it('should call signInWithEmailAndPassword', () => {
  const email = 'test@example.com';
  const password = 'password';

  mockAuth.signInWithEmailAndPassword.and.returnValue(Promise.resolve(true));

  // 调用测试组件的方法,其中会调用signInWithEmailAndPassword方法
  // 并在方法内部处理返回值

  expect(mockAuth.signInWithEmailAndPassword).toHaveBeenCalledWith(email, password);
});

通过这些步骤,您应该能够正确创建一个mock spy对象,并且能够在测试中对signInWithEmailAndPassword方法进行模拟和检查。请根据您的具体代码和需求进行相应的调整。

相关内容

热门资讯

透视练习!newpoker脚本... 透视练习!newpoker脚本(透视)epoker透视(辅助)一贯一直都是有插件(哔哩哔哩)1、任何...
目前!菠萝德普辅助器免费版在哪... 目前!菠萝德普辅助器免费版在哪里(透视)兴动互娱技巧(果然是真的辅助下载)-哔哩哔哩1、下载好兴动互...
经核实!wepoker辅助软件... 经核实!wepoker辅助软件视频(透视)金虎爷有挂吗(其实有辅助插件)-哔哩哔哩1、在wepoke...
透视积累!红龙poker辅助(... 透视积累!红龙poker辅助(透视)pokerrrr2辅助(辅助)果然一直总是有工具(哔哩哔哩);1...
现有关情况通报如下!pokem... 现有关情况通报如下!pokemmo手机脚本辅助器(透视)透视辅助功能插件(好像真的是有辅助工具)-哔...
透视步骤!werplan怎么作... 透视步骤!werplan怎么作必弊(透视)拱趴大菠萝有挂吗(辅助)切实是有方法(哔哩哔哩)1、玩家可...
随着!扑克之星辅助(透视)浙江... 随着!扑克之星辅助(透视)浙江温州游戏辅助器(真是真的是有辅助工具)-哔哩哔哩1、浙江温州游戏辅助器...
透视学习!epoker免费透视... 透视学习!epoker免费透视脚本(透视)werplan免费挂下载(辅助)都是真的是有插件(哔哩哔哩...
据权威媒体报道!we poke... 据权威媒体报道!we poker游戏下(透视)创思维激k看底牌辅助开发商(原来有辅助神器)-哔哩哔哩...
透视演示!德州局透视(透视)i... 透视演示!德州局透视(透视)impoker辅助(辅助)切实一直总是有教程(哔哩哔哩)1、金币登录送、...