Testing Files Generator
Tiếng Việt

Mọi người dùng nó để làm gì

Năm việc xuất hiện trong gần như mọi dự án nhận tệp từ con người, và lệnh làm từng việc. Mỗi ví dụ bên dưới chạy đúng như được viết.

Giới hạn tải lên

Kiểm thử xem giới hạn kích thước tệp có được áp dụng đúng nơi nó nói không

Một giới hạn là ba trường hợp kiểm thử chứ không phải một: ngay dưới, đúng bằng và ngay trên. Làm tay thì phải tính số byte và hy vọng không lệch một. Hãy yêu cầu cả bộ:

tfg generate --preset size-boundaries --limit 1mb --spread 1B --format pdf --out ./edges

Bạn nhận ba PDF thật có 1048575, 1048576 và 1048577 byte, cùng manifest nói hai tệp đầu nên được chấp nhận và tệp thứ ba bị từ chối vì size_limit. Bài kiểm thử của bạn đọc kỳ vọng thay vì bạn viết tay ba câu khẳng định - và khi giới hạn đổi, bạn đổi một con số rồi chạy lại.

Điều tương tự dùng được không cần preset khi bạn muốn một bộ ranh giới đơn ngay trong lệnh:

tfg generate --format png --boundary 5mb --out ./png-edges

Tích hợp liên tục

Giữ fixture ngoài kho mã mà không mất chúng

Fixture nhị phân lớn làm kho mã clone chậm và khó review, và không ai biết cái gì đã đổi khi thay một tệp. Công thức là vài trăm ký tự YAML dựng lại các tệp giống hệt - từng byte, trên mọi máy - vì mọi tệp đều suy ra từ seed của lần chạy.

- name: build the fixtures
  run: tfg generate fixtures.yaml --out ./fixtures

- name: run the tests
  run: pytest tests/

- name: nothing moved
  run: tfg verify ./fixtures/manifest.json

Mỗi kết cục có mã thoát riêng, nên pipeline phân biệt được công thức xấu, đĩa đầy và sai lệch khi xác minh. Lần chạy thất bại không in gì ra đầu ra chuẩn, nhờ vậy trình phân tích nhật ký không đọc lỗi thành dữ liệu.

Quy mô

Tìm hiểu chuyện gì xảy ra khi thư mục lớn

Quy trình nhập, tác vụ ban đêm và danh sách thư mục hoạt động khác nhau ở mười nghìn tệp so với mười tệp. Kích thước rút từ một khoảng làm bộ trông như lưu lượng thật thay vì mười nghìn tệp giống hệt, và lần rút lấy từ seed, nên bộ ngày mai vẫn như cũ.

tfg generate --format log --size-range 1kb-8kb --count 10000 --out ./fixtures

Kiểm tra một lần chạy sẽ tốn bao nhiêu trước khi nó ghi gì, điều quan trọng khi tổng được đo bằng gigabyte:

tfg generate --format log --size-range 1kb-8kb --count 10000 --dry-run

Lần chạy lớn hơn dung lượng trống của đĩa bị từ chối trước khi byte đầu tiên được ghi, thay vì làm đầy đĩa rồi hỏng giữa chừng.

Tệp nén

Kiểm thử trình giải nén với tệp nén thật sự chứa tệp

Tệp nén rỗng có đuôi đúng chẳng chứng minh gì về mã mở nó và duyệt những gì bên trong. Hãy khai báo nội dung và tệp nén thật sự chứa nó:

targets:
  - id: bundle
    format: zip
    contains:
      - format: txt
        count: 200
        size: 4kb

Độ sâu lồng nhau, số mục và kích thước phần bên trong đều là những thứ mà quy trình nhập có ý kiến riêng, và đây là cách bạn biết ý kiến đó là gì.

Bộ phân tích và trình xem

Kiểm tra mã của chính bạn đọc một định dạng như phần mềm thật

Mỗi định dạng ở đây được kiểm tra bằng trình đọc độc lập trước khi phát hành - PNG được mở và so sánh pixel, DOCX được các thư viện riêng đọc lại, tệp nén được giải nén. Nghĩa là tệp mà bộ phân tích của bạn từ chối là một phát hiện về bộ phân tích của bạn, không phải về trình tạo.

tfg generate --format docx --size 300kb --set paragraphs=120 --out ./documents
tfg generate --format xlsx --size 2mb --set rows=400 --set columns=6 --out ./sheets

Trang định dạng liệt kê các thiết lập mỗi định dạng nhận và tệp nhỏ nhất mà mỗi định dạng có thể có.

Hướng dẫn

Hai trong số đó, chi tiết hơn

Dành cho ai

Kỹ sư QA, tự động hóa kiểm thử và bất kỳ ai có mã đứng sau là biểu mẫu tải lên, quy trình nhập, bộ phân tích cú pháp hoặc hạn ngạch lưu trữ. Nó chạy trên máy hoàn toàn không có mạng, điều quan trọng trong môi trường doanh nghiệp đóng nơi trình tạo chạy trên trình duyệt không phải một lựa chọn.

Miễn phí, mã nguồn mở, GPL-3.0. Không cần đăng ký. Bản tải cho Windows và macOS đã được ký nên khởi động không cảnh báo.