Xem Nhiều 6/2022 # Tìm Hiểu Về Stub, Mock Và Fake Trong Unit Test # Top Trend

Xem 14,751

Cập nhật thông tin chi tiết về Tìm Hiểu Về Stub, Mock Và Fake Trong Unit Test mới nhất ngày 29/06/2022 trên website Sansangdethanhcong.com. Hy vọng nội dung bài viết sẽ đáp ứng được nhu cầu của bạn, chúng tôi sẽ thường xuyên cập nhật mới nội dung để bạn nhận được thông tin nhanh chóng và chính xác nhất. Cho đến thời điểm hiện tại, bài viết này đã đạt được 14,751 lượt xem.

--- Bài mới hơn ---

  • Giới Thiệu Tổng Quan Về Unit Test
  • Tổng Hợp Các Bài Viết Về Unit Test Trong Java
  • Tìm Hiểu Về Hệ Điều Hành Windows 10?
  • Có Nên Đầu Tư Vào Winsbank Hay Không? Winsbank Có An Toàn Không ?
  • Wins Fun Là Gì? Có Lừa Đảo? Có Nên Đầu Tư Vào Wins Fund Hay Không?
  • Trong bài viết này, tôi tìm hiểu về ba khái niệm rất quan trọng trong unit test là Stub, Mock và Fake, ý nghĩa khái niệm của chúng là gì và chúng được sử dụng như thế nào trong điều kiện nào. Đầu tiên, chúng ta cần định nghĩa unit test là gì và mô hình TDD là như thế nào. Các bạn có thể tham khảo các khái niệm trên ở link sau: unit-test-voi-phat-trien-phan-mem-hien-dai

    Cả ba khái niệm Stub, Mock và Fake đều rất quan trọng trong unit test và gắn liền với định nghĩa về “de-coupled” architecture design. “de-coupling” architecture có mục đích chính là thiết kế phần mềm sao cho chúng ta có thể tách phần mềm ra thành các phần riêng biệt (các unit) mà không bị ảnh hưởng bởi các phần khác hoặc chỉ bị ảnh hưởng một cách tối thiểu.

    1. Mock là gì?

    Mock object (MO) là một đối tượng ảo mô phỏng các tính chất và hành vi giống hệt như đối tượng thực được truyền vào bên trong khối mã đang vận hành nhằm kiểm tra tính đúng đắn của các hoạt động bên trong. Mock object có các đặc điểm sau:

    • Đơn giản hơn đối tượng thực nhưng vẫn giữ được sự tương tác với các đối tượng khác.

    • Không lặp lại nội dung đối tượng thực.

    • Cho phép thiết lập các trạng thái riêng trợ giúp cho việc thực hiện unit test.

    2. Stub là gì?

    Stub là một chương trình hoặc thành phần giả lập (thay thế cho chương trình hoặc thành phần chưa code xong để kiểm thử) nó dùng để kiểm thử… ví dụ, trong một dự án có 4 modules, nhưng đến lúc test mà còn một module chưa code xong, để test được thì cần phải có 4 modules này, vậy thì cần phải có một chương trình giả lập module này để thực hiện test. Chương trình giả lập cho module này được gọi là STUB.

    Oh, cả hai đều có vẻ khó hiểu!

    Khi tôi bắt đầu tìm hiểu về unit test, tôi rất khó để phân biệt được Mock và Stub khác nhau như thế nào, cả hai đều rất giống nhau trong khái niệm. Nhưng một khi bạn hiểu đúng cách rồi thì bạn sẽ nhận ra sự khác biệt thực sự.

    Một Stub không thể trả về kết quả unit test là fail bởi vì bạn biết những gì bạn đang thực hiện và lý do tại sao bạn đang thực hiện nó, Nó được sử dụng là để thay thế cho một module và được giả sử là phải thực hiện đúng các nhiệm vụ được giao. Tuy nhiên, Mock object chỉ là một đối tượng mà bắt chước các đối tượng thực sự. Nếu logic chính của method là sai thì các unit test sẽ fail ngay cả khi chúng ta thiết lập mock object chính xác.

    3. Fake là gì

    Như chúng ta biết, ý nghĩa của Fake là giả, không thật. Đó là một ý nghĩa nói chung, nó có thể chỉ tới một một object thật hoặc một object giả hoặc giả hoặc một cái gì đó không có thật.

    Vì vậy, Fake là một thuật ngữ chung chung, mà có thể trỏ đến bất cứ điều gì.

    4. Ví dụ:

    Code này là rất đơn giản để hiểu. Chúng ta đã có một class FileChecker đơn giản. Class quản lý FileExtension thực tế không được implement đầy đủ và vì vậy chúng ta có một phiên bản sơ khai của class. Chúng ta có thể thấy rằng các chức năng CheckExtension sẽ luôn luôn đúng, khi chúng ta định nghĩa một cách rõ ràng.

    Và code unit test trên sẽ luôn luôn pass bởi vì chúng ta đã sử dụng các chức năng được định nghĩa Stub và nó sẽ làm cho code unit test luôn đúng.

    Vậy một lần nữa để làm rõ hơn ý tưởng ban đầu, Stub được sử dụng để luôn luôn vượt qua unit test bởi vì chúng ta biết những gì chúng ta đang thực hiện và tại sao? Mục đích của chúng ta là để có thể pass qua phần unit test này.

    Thực hiện Mock trong ví dụ

    Bây giờ chúng ta sẽ thực hiện với một Mock object. Có rất nhiều các cách mocking khác nhau, nhưng để hiểu rõ hơn về bản chất tôi sẽ thực hiện một cách mockig viết tay đơn giản.

    Một điểm quan trọng về mock là, chúng ta có thể sử dụng một đối tượng mock để kiểm tra class chính trong unit test.

    Kết luận

    --- Bài cũ hơn ---

  • Những Bảng Hợp Âm Đàn Guitar Ukulele Cơ Bản Cho Người Mới Bắt Đầu
  • Các Hợp Âm Ukulele Cơ Bản Và Cách Bấm Đơn Giản
  • Các Hợp Âm Ukulele Cơ Bản Cho Người Mới Học
  • Tổng Hợp Các Hợp Âm Ukulele Cơ Bản Và Cách Đánh
  • Tìm Hiểu Chi Tiết Cách Bấm Hợp Âm Ukulele Đơn Giản
  • Bạn đang xem bài viết Tìm Hiểu Về Stub, Mock Và Fake Trong Unit Test trên website Sansangdethanhcong.com. Hy vọng những thông tin mà chúng tôi đã chia sẻ là hữu ích với bạn. Nếu nội dung hay, ý nghĩa bạn hãy chia sẻ với bạn bè của mình và luôn theo dõi, ủng hộ chúng tôi để cập nhật những thông tin mới nhất. Chúc bạn một ngày tốt lành!

  • Web hay
  • Links hay
  • Push
  • Chủ đề top 10
  • Chủ đề top 20
  • Chủ đề top 30
  • Chủ đề top 40
  • Chủ đề top 50
  • Chủ đề top 60
  • Chủ đề top 70
  • Chủ đề top 80
  • Chủ đề top 90
  • Chủ đề top 100
  • Bài viết top 10
  • Bài viết top 20
  • Bài viết top 30
  • Bài viết top 40
  • Bài viết top 50
  • Bài viết top 60
  • Bài viết top 70
  • Bài viết top 80
  • Bài viết top 90
  • Bài viết top 100
  • CẦM ĐỒ TẠI F88
    15 PHÚT DUYỆT
    NHẬN TIỀN NGAY

    VAY TIỀN NHANH
    LÊN ĐẾN 10 TRIỆU
    CHỈ CẦN CMND

    ×