Kết nối ứng dụng của bạn và bắt đầu tạo mẫu

Trước khi bắt đầu sử dụng Firebase Local Emulator Suite, hãy đảm bảo rằng bạn đã tạo một dự án Firebase, thiết lập môi trường phát triển và đã chọn và cài đặt các SDK Firebase cho nền tảng của mình theo các chủ đề Bắt đầu với Firebase cho nền tảng của bạn: Apple , Android hoặc Web .

Nguyên mẫu và thử nghiệm

Bộ giả lập cục bộ chứa một số trình giả lập sản phẩm, như được mô tả trong phần Giới thiệu về bộ phần mềm giả lập cục bộ của Firebase . Bạn có thể tạo mẫu và thử nghiệm với các trình giả lập riêng lẻ cũng như kết hợp các trình mô phỏng, nếu bạn thấy phù hợp, tương ứng với sản phẩm Firebase bạn đang sử dụng trong quá trình sản xuất.

Tương tác giữa dstabase Firebase và trình giả lập chức năng
Trình giả lập Cơ sở dữ liệu và Chức năng Đám mây như một phần của Bộ trình mô phỏng cục bộ đầy đủ .

Đối với chủ đề này, để giới thiệu quy trình làm việc của Local Emulator Suite, hãy giả sử bạn đang làm việc trên một ứng dụng sử dụng kết hợp các sản phẩm điển hình: cơ sở dữ liệu Firebase và các chức năng đám mây được kích hoạt bởi các hoạt động trên cơ sở dữ liệu đó.

Sau khi bạn khởi tạo cục bộ dự án Firebase của mình, chu trình phát triển sử dụng Local Emulator Suite thường sẽ có ba bước:

  1. Nguyên mẫu có các tính năng tương tác với trình giả lập và giao diện người dùng của Emulator Suite.

  2. Nếu bạn đang sử dụng trình giả lập cơ sở dữ liệu hoặc trình giả lập Chức năng đám mây, hãy thực hiện bước một lần để kết nối ứng dụng của bạn với trình giả lập.

  3. Tự động hóa các bài kiểm tra của bạn bằng trình giả lập và tập lệnh tùy chỉnh.

Khởi tạo cục bộ dự án Firebase

Đảm bảo rằng bạn cài đặt CLI hoặc cập nhật lên phiên bản mới nhất của nó .

curl -sL firebase.tools | bash

Nếu bạn chưa làm như vậy, hãy khởi tạo thư mục làm việc hiện tại dưới dạng dự án Firebase, làm theo lời nhắc trên màn hình để chỉ định bạn đang sử dụng Chức năng đám mâyCloud Firestore hoặc Cơ sở dữ liệu thời gian thực :

firebase init

Thư mục dự án của bạn bây giờ sẽ chứa tệp cấu hình Firebase, tệp định nghĩa Quy tắc bảo mật Firebase cho cơ sở dữ liệu, thư mục functions chứa mã chức năng đám mây và các tệp hỗ trợ khác.

Nguyên mẫu tương tác

Local Emulator Suite được thiết kế để cho phép bạn nhanh chóng tạo nguyên mẫu các tính năng mới và giao diện người dùng tích hợp của Suite là một trong những công cụ tạo mẫu hữu ích nhất của nó. Nó hơi giống như để bảng điều khiển Firebase chạy cục bộ.

Sử dụng giao diện người dùng Emulator Suite, bạn có thể lặp lại thiết kế của cơ sở dữ liệu, thử các luồng dữ liệu khác nhau liên quan đến các chức năng đám mây, đánh giá các thay đổi của Quy tắc bảo mật, kiểm tra nhật ký để xác nhận các dịch vụ back-end của bạn đang hoạt động như thế nào, v.v. Sau đó, nếu bạn muốn bắt đầu lại, chỉ cần xóa cơ sở dữ liệu của bạn và bắt đầu mới với một ý tưởng thiết kế mới.

Tất cả đều có sẵn khi bạn khởi động Local Emulator Suite với:

firebase emulators:start

Để tạo nguyên mẫu ứng dụng giả định của chúng tôi, hãy thiết lập và kiểm tra một chức năng đám mây cơ bản để sửa đổi các mục nhập văn bản trong cơ sở dữ liệu và cả hai tạo và điền cơ sở dữ liệu đó trong Giao diện người dùng Bộ giả lập để kích hoạt nó.

  1. Tạo một chức năng đám mây được kích hoạt bởi ghi cơ sở dữ liệu bằng cách chỉnh sửa tệp functions/index.js trong thư mục dự án của bạn. Thay thế nội dung của tệp hiện có bằng đoạn mã sau. Hàm này lắng nghe các thay đổi đối với tài liệu trong bộ sưu tập messages , chuyển đổi nội dung của trường original của tài liệu thành chữ hoa và lưu trữ kết quả trong trường uppercase của tài liệu đó.
  2.   const functions = require('firebase-functions');
    
      exports.makeUppercase = functions.firestore.document('/messages/{documentId}')
          .onCreate((snap, context) => {
            const original = snap.data().original;
            console.log('Uppercasing', context.params.documentId, original);
            const uppercase = original.toUpperCase();
            return snap.ref.set({uppercase}, {merge: true});
          });
      
  3. Khởi chạy Bộ mô phỏng cục bộ với firebase emulators:start . Chức năng đám mây và trình giả lập cơ sở dữ liệu khởi động, tự động được định cấu hình để hoạt động tương thích.
  4. Xem giao diện người dùng trong trình duyệt của bạn tại http://localhost:4000 . Cổng 4000 là mặc định cho giao diện người dùng, nhưng hãy kiểm tra thông báo đầu cuối do Firebase CLI đầu ra. Lưu ý trạng thái của trình giả lập có sẵn. Trong trường hợp của chúng tôi, trình giả lập Cloud Functions và Cloud Firestore sẽ chạy.
    Hình ảnh của tôi
  5. Trong giao diện người dùng, trên tab Firestore , trên tab phụ Dữ liệu , bấm Bắt đầu thu thập và làm theo lời nhắc để tạo tài liệu mới trong bộ sưu tập messages , với tên trường originaltest giá trị. Điều này kích hoạt chức năng đám mây của chúng tôi. Quan sát rằng một trường uppercase mới xuất hiện trong thời gian ngắn, được điền bằng chuỗi "TEST".
    Hình ảnh của tôiHình ảnh của tôi
  6. Trên tab Firestore> Yêu cầu , hãy kiểm tra các yêu cầu được thực hiện đối với cơ sở dữ liệu được mô phỏng của bạn, bao gồm tất cả các đánh giá Quy tắc bảo mật của Firebase được thực hiện như một phần của việc thực hiện các yêu cầu đó.
  7. Kiểm tra tab Nhật ký để xác nhận rằng chức năng của bạn không gặp lỗi khi cập nhật cơ sở dữ liệu.

Bạn có thể dễ dàng lặp lại giữa mã chức năng đám mây của mình và các chỉnh sửa cơ sở dữ liệu tương tác cho đến khi bạn nhận được luồng dữ liệu mà bạn đang tìm kiếm mà không cần chạm vào mã truy cập cơ sở dữ liệu trong ứng dụng, biên dịch lại và chạy lại các bộ thử nghiệm.

Kết nối ứng dụng của bạn với trình giả lập

Khi bạn đã đạt được tiến bộ tốt với việc tạo mẫu tương tác và đã hoàn thành thiết kế, bạn sẽ sẵn sàng thêm mã truy cập cơ sở dữ liệu vào ứng dụng của mình bằng cách sử dụng SDK thích hợp. Bạn sẽ tiếp tục sử dụng tab cơ sở dữ liệu và đối với các chức năng, tab Nhật ký trong Giao diện người dùng của Emulator Suite để xác nhận rằng hoạt động của ứng dụng của bạn là đúng.

Hãy nhớ rằng Local Emulator Suite là một công cụ phát triển cục bộ. Việc ghi vào cơ sở dữ liệu sản xuất của bạn sẽ không kích hoạt các chức năng bạn đang tạo mẫu cục bộ.

Để chuyển sang yêu cầu ứng dụng của bạn ghi vào cơ sở dữ liệu, bạn cần trỏ các lớp thử nghiệm hoặc cấu hình trong ứng dụng của mình vào trình giả lập Cloud Firestore.

Android
// 10.0.2.2 is the special IP address to connect to the 'localhost' of
// the host computer from an Android emulator.
FirebaseFirestore firestore = FirebaseFirestore.getInstance();
firestore.useEmulator("10.0.2.2", 8080);

FirebaseFirestoreSettings settings = new FirebaseFirestoreSettings.Builder()
        .setPersistenceEnabled(false)
        .build();
firestore.setFirestoreSettings(settings);
Nhanh
let settings = Firestore.firestore().settings
settings.host = "localhost:8080"
settings.isPersistenceEnabled = false 
settings.isSSLEnabled = false
Firestore.firestore().settings = settings

Web version 9

import { getFirestore, connectFirestoreEmulator } from "firebase/firestore";

// firebaseApps previously initialized using initializeApp()
const db = getFirestore();
connectFirestoreEmulator(db, 'localhost', 8080);

Web version 8

// Firebase previously initialized using firebase.initializeApp().
var db = firebase.firestore();
if (location.hostname === "localhost") {
  db.useEmulator("localhost", 8080);
}

Tự động hóa các thử nghiệm của bạn bằng các tập lệnh tùy chỉnh

Bây giờ cho bước quy trình làm việc tổng thể cuối cùng. Khi bạn đã tạo nguyên mẫu tính năng trong ứng dụng của mình và nó có vẻ hứa hẹn trên tất cả các nền tảng của bạn, bạn có thể chuyển sang triển khai và thử nghiệm cuối cùng. Đối với kiểm tra đơn vị và quy trình làm việc CI, bạn có thể khởi động trình giả lập, chạy kiểm tra theo tập lệnh và tắt trình giả lập chỉ trong một lệnh gọi bằng lệnh thực exec :

firebase emulators:exec "./testdir/test.sh"

Khám phá các trình giả lập riêng lẻ chuyên sâu hơn

Bây giờ bạn đã thấy quy trình làm việc phía máy khách cơ bản trông như thế nào, bạn có thể tiếp tục với thông tin chi tiết về các trình giả lập riêng lẻ trong Suite, bao gồm cả cách sử dụng chúng để phát triển ứng dụng phía máy chủ:

Tiếp theo là gì?

Hãy nhớ đọc các chủ đề liên quan đến các trình giả lập cụ thể được liên kết ở trên. Sau đó: