pytest-quickcheck bied 'n pytest.mark.randomize funksie vir die opwekking van ewekansige data.
Installasie
& Nbsp; easy_install pytest-quickcheck # of
& Nbsp; pit installeer pytest-quickcheck
Quick Start
Net verby die handtekening van funksie merker te randomize. Die handtekening is verteenwoordig 'n tal bestaan van 'n argument naam en sy soort.
@ Pytest.mark.randomize (("i1", "int"), ("i2", "int"), ncalls = 1)
def test_generate_ints (i1, i2):
& Nbsp; pass
Meer komplekse data struktuur:
@ Pytest.mark.randomize (
& Nbsp; ("d1", "{'x': int, 'y': [str, (int, int)], 'Z': {'x': str}}")
)
def test_generate_dict (d1):
& Nbsp; pass
Die randomize merker in staat is om te gebruik met parametrize merker.
@ Pytest.mark.parametrize ("prima", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("f1", "float"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (eerste, i1, f1):
& Nbsp; pass
Met behulp van command line opsie --randomize beperk net die randomize toets.
$ Py.test v --randomize test_option.py
================================================== ========================================
toets sessie begin
================================================== ========================================
test_option.py:5: test_normal oorgeslaan
test_option.py:8: test_generate_ints [74-22] GESLAAG
Gebruik
Daar 'n paar opsies vir elke data type:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, tipe), ** opsies): merk die toets funksie
ewekansige data genereer enige data tipe.
& Nbsp; Daar is opsies vir elke data type: (sien doc vir besonderhede)
& Nbsp; int: ['min_num', 'max_num']
& Nbsp; float: ['min_num', 'max_num "," positiewe "]
& Nbsp; str: ['encoding "," fixed_length', 'MAX_LENGTH', 'str_attrs']
- Algemene opsie
& Nbsp; ncalls: stel die aantal oproepe. Verstek na 3. (bv ncalls = 5)
& Nbsp; keuses: kies uit gegewe reeks. (Bv keuses = [3, 5, 7])
- Int
& Nbsp; min_num: laer limiet vir die opwekking van heelgetal. (Bv min_num = 0)
& Nbsp; max_num: boonste limiet vir die opwekking van heelgetal. (Bv max_num = 10)
- Float
& Nbsp; min_num: laer limiet vir die opwekking van reële getal. (Bv min_num = 0.0)
& Nbsp; max_num: boonste limiet vir die opwekking van reële getal. (Bv max_num = 1.0)
& Nbsp; positiewe: genereer enigste positiewe reële getal Indien waar. Verstek na Vals. (Bv positiewe = True)
- Str
& Nbsp; enkodering: genereer unicode string geïnkripteer gegee karakter kode. (Bv encoding = "utf-8") # slegs vir Python 2.x
& Nbsp; fixed_length: genereer vaste lengte string. (Bv fixed_length = 8)
& Nbsp; MAX_LENGTH: genereer die string minder as of gelyk aan maksimum lengte (bv MAX_LENGTH = 32)
& Nbsp; str_attrs: genereer die string in gegewe letters. stel 'n tal uit kenmerk name in die string module. (Bv str_attrs = ("syfers", "punktuasie")
Waarskynlik, pytest_quickcheck / toetse / test_plugin_basic.py is nuttig vir die leer hoe om hierdie opsies te gebruik
Wat is nuut in hierdie release:.
- Die tipes in die argumente wat deur die tipes hulself (# 1)
Wat is nuut in die weergawe 0.6:
- Voeg genereer data kenmerk van funksie body
Vereistes :
- Python
- py.test
Kommentaar nie gevind