패키지, 저장소 및 앱 카테고리 검색

패키지 상세v0.4.2

google_sign_in_mocks

Google 로그인을 위한 모크입니다. Firebase 인증을 포함한 단위 테스트를 작성하려면 이 패키지를 `firebase_auth_mocks` 와 함께 사용하세요.

AndroidiOSWebmacOS
30일 다운로드
1.7만
좋아요
35
Pub 점수
150

패키지 설치

flutter pub add google_sign_in_mocks

패키지 개요

공개 정보를 바탕으로 생성한 선택 가이드입니다.

실제 Google 계정이 필요 없이 인증 흐름을 시뮬레이션할 수 있도록 Google 로그인용 모크 구현을 제공하는 테스트 패키지입니다. firebase_auth_mocks와 원활하게 통합되어 플러터 앱에서 Firebase 인증 로직에 대한 신뢰할 수 있는 단위 테스트를 작성하는 데 이상적입니다. 모크는 Android, iOS, 웹, macOS를 포함한 모든 주요 플랫폼을 지원하여 환경 간 일관된 테스트 동작을 보장합니다.

사용 사례

  • Google 로그인을 사용한 Firebase Auth의 단위 테스트
  • 테스트에서 로그인/로그아웃 흐름 시뮬레이션
  • Google 로그인 후 앱 동작 테스트
  • 인증에 의해 트리거된 상태 변경 검증
  • 플랫폼에 관계없이 테스트 신뢰성 보장

주요 기능

  • 설정 가능한 응답을 가진 모크 GoogleSignIn 클래스
  • firebase_auth_mocks와의 통합
  • 모든 주요 플랫폼을 지원합니다
  • 테스트 환경을 위한 간편한 설정
  • 테스트 중 외부 종속성 없음

적합한 대상

  • 단위 테스트를 작성하는 Flutter 개발자
  • Firebase 인증을 사용하는 팀
  • 테스트 주도 개발 워크플로
  • 크로스 플랫폼 앱 테스트
  • 안정적인 테스트 실행을 요구하는 CI/CD 파이프라인

고려 사항

  • 생산 환경 사용을 위한 것이 아님
  • 완전한 기능을 위해서는 firebase_auth_mocks 가 필요합니다
  • 모크 동작은 테스트에서 명시적으로 정의되어야 합니다
  • 로그인 시뮬레이션에 국한되며, 완전한 OAuth 흐름은 아님
  • 실제 Google 계정 상호작용을 처리하지 않습니다

원본 README

연결된 소스 저장소의 README 원문 스냅샷입니다. 최신 내용은 저장소에서 확인하세요.

Mocks for google_sign_in. Use this package with firebase_auth_mocks to write unit tests involving Firebase Authentication.

pub package unit-tests Buy Me A Coffee

Usage

A simple usage example:

import 'package:google_sign_in_mocks/google_sign_in_mocks.dart';
import 'package:test/test.dart';

void main() {
  late MockGoogleSignIn googleSignIn;
  setUp(() {
    googleSignIn = MockGoogleSignIn();
  });

  test('should return idToken when authenticating', () async {
    final signInAccount = await googleSignIn.signIn();
    final signInAuthentication = await signInAccount!.authentication;
    expect(signInAuthentication, isNotNull);
    expect(googleSignIn.currentUser, isNotNull);
    expect(signInAuthentication.idToken, isNotNull);
  });

  test('should return null when google login is cancelled by the user',
      () async {
    googleSignIn.setIsCancelled(true);
    final signInAccount = await googleSignIn.signIn();
    expect(signInAccount, isNull);
  });
  test('testing google login twice, once cancelled, once not cancelled at the same test.', () async {
   googleSignIn.setIsCancelled(true);
    final signInAccount = await googleSignIn.signIn();
    expect(signInAccount, isNull);
    googleSignIn.setIsCancelled(false);
    final signInAccountSecondAttempt = await googleSignIn.signIn();
    expect(signInAccountSecondAttempt, isNotNull);
  });
}

Features and bugs

Please file feature requests and bugs at the issue tracker.

카테고리

의존성

의존성 목록 2 개

소스 저장소

이 패키지를 사용하는 프로젝트

아직 데이터가 없습니다.