pytest-QuickCheck cung cấp một chức năng pytest.mark.randomize giúp tạo dữ liệu thử nghiệm ngẫu nhiên.
Cài đặt
& Nbsp; easy_install pytest-QuickCheck # hoặc
& Nbsp; pip cài đặt pytest-QuickCheck
Quick Start
Chỉ cần vượt qua chữ ký của chức năng để ngẫu nhiên marker. Chữ ký được đại diện cho một bộ bao gồm tên đối số và kiểu của nó.
@ Pytest.mark.randomize (("i1", "int"), ("i2", "int"), ncalls = 1)
test_generate_ints def (i1, i2):
& Nbsp; vượt qua
Nhiều cấu trúc dữ liệu phức tạp:
@ Pytest.mark.randomize (
& Nbsp; ("d1", "{'x': int, 'y': [str, (int, int)], 'z': {'x': str}}")
)
def test_generate_dict (d1):
& Nbsp; vượt qua
Các marker randomize là có thể sử dụng với parametrize marker.
@ Pytest.mark.parametrize ("thủ", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("f1", "phao"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (thủ, i1, f1):
& Nbsp; vượt qua
Sử dụng tùy chọn dòng lệnh --randomize hạn chế chỉ kiểm tra randomize.
$ Py.test -v --randomize test_option.py
================================================== ========================================
phiên thử nghiệm bắt đầu
================================================== ========================================
test_option.py:5: test_normal bỏ qua
test_option.py:8: test_generate_ints [74-22] QUA
Cách sử dụng
Có một số tùy chọn cho mỗi kiểu dữ liệu:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, type), tùy chọn **): đánh dấu chức năng kiểm tra với
dữ liệu ngẫu nhiên tạo ra bất kỳ loại dữ liệu.
& Nbsp; Có những lựa chọn cho từng loại dữ liệu: (xem doc để biết chi tiết)
& Nbsp; int: ['từ MIN_NUM đến', 'MAX_NUM']
& Nbsp; float: ['từ MIN_NUM đến', 'MAX_NUM', 'tích cực']
& Nbsp; str: ['mã hóa', 'fixed_length', 'max_length', 'str_attrs']
- Lựa chọn phổ biến
& Nbsp; ncalls: thiết lập số lượng các cuộc gọi. Mặc định là 3. (ví dụ ncalls = 5)
& Nbsp; sự lựa chọn: chọn từ trình tự nhất định. (Ví dụ lựa chọn = [3, 5, 7])
- Int
& Nbsp; từ MIN_NUM đến: giới hạn dưới để tạo ra số nguyên. (Ví dụ từ MIN_NUM đến = 0)
& Nbsp; MAX_NUM: giới hạn trên để tạo ra các số nguyên. (Ví dụ MAX_NUM = 10)
- Float
& Nbsp; từ MIN_NUM đến: giới hạn dưới để tạo ra số thực. (Ví dụ từ MIN_NUM đến = 0.0)
& Nbsp; MAX_NUM: giới hạn trên để tạo ra các số thực. (Ví dụ MAX_NUM = 1.0)
& Nbsp; tích cực: tạo ra chỉ số thực dương nếu đặt là True. Mặc định là False. (Ví dụ tích cực = True)
- Str
& Nbsp; mã hóa: tạo ra chuỗi unicode mã hóa mã ký tự nhất định. (Ví dụ encoding = "utf-8") # cho Python 2.x chỉ
& Nbsp; fixed_length: tạo ra chuỗi dài cố định. (Ví dụ fixed_length = 8)
& Nbsp; max_length: tạo ra các chuỗi nhỏ hơn hoặc bằng chiều dài tối đa (ví dụ max_length = 32)
& Nbsp; str_attrs: tạo ra các chuỗi trong thư nhất định. thiết lập một bộ bao gồm tên thuộc tính trong các mô-đun chuỗi. (Ví dụ str_attrs = ("chữ số", "chấm câu")
Có lẽ, pytest_quickcheck / xét nghiệm / test_plugin_basic.py là hữu ích cho việc học cách sử dụng các tùy chọn này
là gì mới trong phiên bản này:.
- Các loại trong các đối số được chỉ định bởi các kiểu tự (# 1)
là gì mới trong phiên bản 0.6:
- Thêm tính năng tạo ra các dữ liệu từ các chức năng chú thích
Yêu cầu :
- Python
- py.test
Bình luận không