パッケージ、リポジトリ、アプリカテゴリを検索

パッケージ詳細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 とシームレスに統合され、FlutterアプリにおけるFirebase認証ロジックの信頼性の高いユニットテスト作成に最適です。モックはAndroid、iOS、Web、macOSを含むすべての主要プラットフォームをサポートしており、環境間でのテスト動作の一貫性を確保します。

用途

  • Google サインインを使用した Firebase Auth のユニットテスト
  • テストでのログイン/ログアウトフローのシミュレーション
  • Google サインイン後のアプリ動作のテスト
  • 認証によって引き起こされる状態変更の検証
  • プラットフォームに依存しないテストの信頼性の確保

主な機能

  • 設定可能な応答を持つモック GoogleSignIn クラス
  • firebase_auth_mocks との統合
  • すべての主要プラットフォームをサポートしています
  • テスト環境の簡単なセットアップ
  • テスト中に外部の依存関係がない

適している対象

  • ユニットテストを書くFlutter開発者
  • Firebase Authentication を使用するチーム
  • テスト駆動開発ワークフロー
  • クロスプラットフォームアプリテスト
  • 安定したテスト実行を必要とする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 件

ソースリポジトリ

このパッケージを使用しているプロジェクト

データはまだありません。