2025-06-02 「mock」這個詞在軟體開發裡有幾種常見意思

2025-06-02 「mock」這個詞在軟體開發裡有幾種常見意思

「mock」這個詞在軟體開發裡有幾種常見意思,我分情境幫你整理:


1. 測試(單元測試 / TDD)裡的 mock

  • mock = 一個「假的物件」或「假的函數」,用來模擬真實元件的行為。

  • 目的:讓你在測試時,不需要真的去呼叫資料庫、API 或外部服務,只要模擬它的回應。

  • 例如:

    1
    2
    3
    4
    5
    6
    7
    8
    // C# 單元測試
    var mockRepository = new Mock<IProductRepository>();
    mockRepository.Setup(r => r.GetById(1)).Returns(new Product { Id = 1, Name = "Apple" });

    var service = new ProductService(mockRepository.Object);
    var product = service.GetProduct(1);

    Assert.Equal("Apple", product.Name);

    👉 這裡的 mockRepository 不是真的資料庫,而是假的物件,只回傳我們設定的值。


2. 前端 / API 開發裡的 mock

  • mock data(模擬資料):在 API 還沒完成前,前端工程師可以先用「假資料」來開發。

  • mock server:模擬一個 API 伺服器,提供固定或假造的回應。
    例如:

    1
    2
    3
    4
    5
    6
    // mock API 回應
    {
    "id": 1,
    "name": "Test User",
    "email": "test@example.com"
    }

    👉 前端就能用這個資料假裝 API 已經準備好。


3. 一般用語

  • 「mock」也有「模擬」「假裝」的意思。
    例如:mock exam(模擬考試)、mockup(原型設計稿)。

🔑 總結:

  • 測試 → mock = 假物件,用來隔離真實依賴。
  • 前端 / API → mock = 假資料或假伺服器,用來模擬尚未完成的後端。
  • 日常用語 → mock = 模擬、假裝。

要不要我幫你用 一個具體例子(例如:你在 Vue 寫 API 但後端還沒完成)示範怎麼用 mock server