pytest-QuickCheck oferă o funcție pytest.mark.randomize pentru generarea de date de testare aleatoare.
Instalare
& Nbsp; easy_install pytest-QuickCheck # sau
& Nbsp; pip instala pytest-QuickCheck
Quick Start
Doar trece semnătura de funcție pentru a alege aleator să îi trimită. Semnătura este reprezentată o tuplu format din nume argument și tipul său.
@ Pytest.mark.randomize (("i1", "int"), ("I2", "int"), ncalls = 1)
test_generate_ints definiție (I1, I2):
& Nbsp; adversari
Mai multe structură de date complexă:
@ Pytest.mark.randomize (
& Nbsp; ("D1", "{" x ": int," y ": [str, (int, int)]," Z ": {" x ": str}}")
)
def test_generate_dict (d1):
& Nbsp; adversari
Markerul Randomize este capabil de a utiliza cu markerul parametrize.
@ Pytest.mark.parametrize ("prim", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("F1", "float"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (prim, i1, F1):
& Nbsp; adversari
Utilizarea opțiune de linie de comandă --randomize limitează doar testul Randomize.
$ Py.test -v --randomize test_option.py
================================================== ========================================
începe sesiune de testare
================================================== ========================================
test_option.py:5: test_normal sărite
test_option.py:8: test_generate_ints [74-22] trecut
Folosire
Există unele opțiuni pentru fiecare tip de date:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, tip), opțiunile **): marca funcția de testare cu
date aleatoare generează orice tip de date.
& Nbsp; Există opțiuni pentru fiecare tip de date: (a se vedea doc pentru detalii)
& Nbsp; int: ['min_num "," max_num "]
& Nbsp; float: ['min_num "," max_num "," pozitiv "]
& Nbsp; str: ['codare "," fixed_length "," MAX_LENGTH "," str_attrs']
- Opțiune comună
& Nbsp; ncalls: seta numărul de apeluri. Defaults la 3. (de exemplu ncalls = 5)
& Nbsp; opțiuni: alege din secvența dată. (de exemplu alegeri = [3, 5, 7])
- Int
& Nbsp; min_num: limita inferioară pentru generarea de număr întreg. (De exemplu min_num = 0)
& Nbsp; max_num: limită superioară pentru generarea de număr întreg. (De exemplu max_num = 10)
- Float
& Nbsp; min_num: limita inferioară pentru generarea de număr real. (De exemplu min_num = 0.0)
& Nbsp; max_num: limită superioară pentru generarea de număr real. (De exemplu max_num = 1,0)
& Nbsp; pozitiv: genera doar numărul real pozitiv dacă este setat la Adevărat. Defaults la FALSE. (De exemplu, pozitiv = True)
- Str
& Nbsp; codare: genera șir Unicode codificat dat cod caracter. (De exemplu, codare = "UTF-8") # pentru numai 2.x Python
& Nbsp; fixed_length: genera șir de lungime fixă. (De exemplu fixed_length = 8)
& Nbsp; MAX_LENGTH: genera șirul mai mică sau egală cu lungimea maximă (de exemplu, MAX_LENGTH = 32)
& Nbsp; str_attrs: genera șirul în litere date. a stabilit un tuplu format din nume de atribute în modulul șir. (De exemplu, str_attrs = ("cifre", "semne de punctuație")
Probabil, pytest_quickcheck / teste / test_plugin_basic.py este util pentru a învăța cum să folosească aceste opțiuni
Ce este nou în această versiune:.
- Tipurile din argumentele sunt specificate de tipurile de înșiși (# 1)
Ce este nou în versiunea 0,6:
- Adăugați generatoare de facilitate de date de la funcția de adnotare
Cerințe :
- Python
- py.test
Comentariile nu a fost găsit