pytest-quickcheck menyediakan fungsi pytest.mark.randomize untuk menghasilkan data uji acak.
Instalasi
& Nbsp; easy_install pytest-quickcheck # atau
& Nbsp; pip install pytest-quickcheck
Quick Start
Hanya melewati tanda tangan dari fungsi untuk mengacak penanda. Tanda tangan diwakili tupel terdiri dari nama argumen dan jenisnya.
@ Pytest.mark.randomize (("i1", "int"), ("i2", "int"), ncalls = 1)
test_generate_ints def (i1, i2):
& Nbsp; lulus
Lebih kompleks struktur data:
@ Pytest.mark.randomize (
& Nbsp; ("d1", "{'x': int, 'y': [str, (int, int)], 'z': {'x': str}}")
)
def test_generate_dict (d1):
& Nbsp; lulus
Penanda mengacak dapat digunakan dengan marker parametrize.
@ Pytest.mark.parametrize ("prime", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("f1", "mengambang"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (prime, i1, f1):
& Nbsp; lulus
Menggunakan opsi baris perintah --randomize membatasi hanya tes mengacak.
$ Py.test v --randomize test_option.py
================================================== ========================================
sesi tes dimulai
================================================== ========================================
test_option.py:5: test_normal dilewati
test_option.py:8: test_generate_ints [74-22] BERLALU
Pemakaian
Ada beberapa pilihan untuk masing-masing tipe data:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, jenis), pilihan **): menandai fungsi tes dengan
data acak menghasilkan jenis data.
& Nbsp; Ada pilihan untuk masing-masing tipe data: (lihat doc untuk rincian)
& Nbsp; int: ['MIN_NUM', 'MAX_NUM']
& Nbsp; float: ['MIN_NUM', 'MAX_NUM', 'positif']
& Nbsp; str: ['encoding', 'fixed_length', 'max_length', 'str_attrs']
- Pilihan umum
& Nbsp; ncalls: mengatur jumlah panggilan. Standarnya 3. (misalnya ncalls = 5)
& Nbsp; pilihan: memilih dari yang diberikan urutan. (Misalnya pilihan = [3, 5, 7])
- Int
& Nbsp; MIN_NUM: batas bawah untuk menghasilkan nomor integer. (Mis MIN_NUM = 0)
& Nbsp; MAX_NUM: batas atas untuk menghasilkan nomor integer. (Mis MAX_NUM = 10)
- Mengambang
& Nbsp; MIN_NUM: batas bawah untuk menghasilkan bilangan real. (Mis MIN_NUM = 0,0)
& Nbsp; MAX_NUM: batas atas untuk menghasilkan bilangan real. (Mis MAX_NUM = 1.0)
& Nbsp; positif: hanya menghasilkan bilangan real positif jika diatur ke True. Standarnya False. (Mis positif = True)
- Str
& Nbsp; encoding: menghasilkan unicode string yang dikodekan karakter kode yang diberikan. (Misalnya encoding = "utf-8") # untuk Python 2.x hanya
& Nbsp; fixed_length: menghasilkan panjang string tetap. (Mis fixed_length = 8)
& Nbsp; max_length: menghasilkan string kurang dari atau sama dengan panjang max (misalnya max_length = 32)
& Nbsp; str_attrs: menghasilkan string dalam surat yang diberikan. set tupel terdiri dari nama-nama atribut dalam modul tali. (Misalnya str_attrs = ("angka", "tanda baca")
Mungkin, pytest_quickcheck / tes / test_plugin_basic.py berguna untuk belajar bagaimana menggunakan pilihan ini
Apa yang baru dalam rilis ini:.
- Jenis-jenis dalam argumen ditentukan oleh jenis sendiri (# 1)
Apa yang baru dalam versi 0.6:
- Tambah menghasilkan fitur data dari fungsi penjelasan
Persyaratan :
- Python
- py.test
Komentar tidak ditemukan