Giới thiệu về fixture

Nhập môn Kiểm thử trong Python

Alexander Levin

Data Scientist

Fixture là gì

  • Fixture: môi trường đã chuẩn bị sẵn để chạy kiểm thử
  • Fixture setup: quy trình chuẩn bị môi trường và tài nguyên cho một hoặc nhiều kiểm thử

Hãy hình dung chuẩn bị dã ngoại:

  1. Mời bạn bè và chuẩn bị đồ ăn (đó là việc của fixtures)
  2. Vui chơi!
  3. Dọn dẹp
Nhập môn Kiểm thử trong Python

Vì sao cần fixture

Fixtures giúp:

  • Đơn giản hóa phần chuẩn bị kiểm thử
  • Tách biệt kiểm thử khỏi phần chuẩn bị môi trường
  • Tái sử dụng mã fixture
Nhập môn Kiểm thử trong Python

Ví dụ fixture: tổng quan

Giả sử có:

  • biến list Python tên data
  • data = [0, 1, 1, 2, 3, 5, 8, 13, 21]

Và ta muốn kiểm thử rằng:

  • Nó có 9 phần tử
  • Nó chứa các phần tử 521
Nhập môn Kiểm thử trong Python

Ví dụ fixture: mã nguồn

import pytest

# Fixture decorator
@pytest.fixture
# Fixture for data initialization
def data():
    return [0, 1, 1, 2, 3, 5, 8, 13, 21]

def test_list(data):
    assert len(data) == 9
    assert 5 in data
    assert 21 in data
Nhập môn Kiểm thử trong Python

Ví dụ fixture: kết quả

Kết quả ví dụ: kết quả ví dụ về fixture

Nhập môn Kiểm thử trong Python

Cách dùng fixtures

Để dùng fixture, hãy làm như sau:

  1. Chuẩn bị phần mềm và bài kiểm thử
  2. Tìm phần "chuẩn bị môi trường"
  3. Tạo fixture:
    • Khai báo decorator @pytest.fixture
    • Viết hàm fixture
  4. Dùng fixture đã tạo:
    • Truyền tên fixture vào hàm kiểm thử
    • Chạy kiểm thử!
Nhập môn Kiểm thử trong Python

Tóm tắt

Chúng ta đã học về fixtures:

  • Fixture: môi trường đã chuẩn bị sẵn để chạy kiểm thử
  • Dùng fixtures để đơn giản hóa phần chuẩn bị và tách biệt khỏi hàm kiểm thử
  • Ví dụ đơn giản: chuẩn bị một list Python
  • Định nghĩa fixture pytest bằng cách khai báo @pytest.fixture
    • rồi viết hàm fixture
  • Tên fixture được dùng trong bài kiểm thử như biến
Nhập môn Kiểm thử trong Python

Ayo berlatih!

Nhập môn Kiểm thử trong Python

Preparing Video For Download...