pytest-quickcheck suteikia pytest.mark.randomize funkcija generuoti atsitiktinius bandymo duomenis.
Diegimas
& Nbsp; easy_install pytest-quickcheck # arba
& Nbsp; PIP įdiegti pytest-quickcheck
"Quick Start"
Tiesiog praeiti pasirašymo funkciją lošimai žymeklį. Parašas yra atstovaujama kortežas susideda iš argumentų pavadinimas ir jos tipas.
@ Pytest.mark.randomize (("i1", "INT"), ("i2", "INT"), ncalls = 1)
def test_generate_ints (I1, I2):
& Nbsp; perdavimas
Daugiau kompleksas duomenų struktūra:
@ Pytest.mark.randomize (
& Nbsp; ("D1", "{" x ": int," y ": [g, (int, int)]" Z ": {" x ": g}}")
)
Def test_generate_dict (D1):
& Nbsp; perdavimas
Randomize žymeklis gali naudoti su parametrize persekiotoją.
@ Pytest.mark.parametrize ("pirminis", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "INT"), ("f1", "flotacinio"), ncalls = 1)
Def test_gen_parametrize_with_randomize_int_float (pirmininkas, I1, F1):
& Nbsp; perdavimas
Naudojant komandų eilutės parinktis --randomize riboja tik Randomize testą.
$ Py.test -v --randomize test_option.py
================================================== ========================================
bandymų sesijos prasideda
================================================== ========================================
test_option.py:5: test_normal praleista
test_option.py:8: test_generate_ints [74-22] praėjo
Naudojimas
Yra keletas kiekvieno duomenų tipo variantai:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, tipas), ** variantai): pažymėti bandymo funkciją
atsitiktiniai duomenys generuojantys jokios duomenų tipą.
& Nbsp; Yra variantų kiekvieno duomenų tipo: (dok išsamiau)
& Nbsp; int: ['MIN_NUM "," MAX_NUM']
& Nbsp; float: ['MIN_NUM "," MAX_NUM "," teigiamas "]
& Nbsp; g: ["kodavimas", "fixed_length", "MAX_LENGTH", "str_attrs ']
- Bendras parinktis
& Nbsp; ncalls: nustatyti kvietimų skaičių. Numatytasis 3. (pvz ncalls = 5)
& Nbsp; pasirinkimai: pasirinkti iš tikro seka. (pvz pasirinkimų = [3, 5, 7])
- INT
& Nbsp; MIN_NUM: apatinė riba generuoti sveikasis skaičius. (Pvz MIN_NUM = 0),
& Nbsp; MAX_NUM: viršutinė riba generuoti sveikasis skaičius. (Pvz MAX_NUM = 10)
- Plūdė
& Nbsp; MIN_NUM: apatinė riba generuoti realų skaičių. (Pvz MIN_NUM = 0.0)
& Nbsp; MAX_NUM: viršutinė riba generuoti realų skaičių. (Pvz MAX_NUM = 1,0),
& Nbsp; teigiamas: generuoti tik teigiamas realusis skaičius, jei nustatytas Tiesa. Numatytasis false. (Pvz teigiamas = True)
- G
& Nbsp; kodavimas: generuoti Unicode eilutė koduojama tikrą simbolių kodą. (Pvz kodavimas = "utf-8") # tik Python 2.x
& Nbsp; fixed_length: generuoti fiksuoto ilgio eilutę. (Pvz fixed_length = 8)
& Nbsp; MAX_LENGTH: generuoti eilutę mažesnis arba lygus max ilgis (pvz MAX_LENGTH = 32)
& Nbsp; str_attrs: generuoti tam tikrose raidžių eilutę. nustatyti kortežas susideda iš atributų vardų styginių modulį. (Pvz str_attrs = ("skaitmenų", "skyrybos")
Tikriausiai, pytest_quickcheck / testai / test_plugin_basic.py naudinga išmokti naudoti šias galimybes
Kas naujo , šioje laidoje:.
- iš argumentų tipai yra nurodyti patys (# 1) tipų
Kas naujo versijoje 0.6:
- Pridėti kuriantį duomenų funkciją iš funkcijų anotacija
Reikalavimai :
- Python
- py.test
Komentarai nerastas