pytest-Quick gir en pytest.mark.randomize funksjon for å generere tilfeldige testdata.
Installasjon
& Nbsp; easy_install pytest-Quick # eller
& Nbsp; pip installere pytest-Quick
Quick Start
Bare passere signaturen til funksjon å random markør. Signaturen er representert en tuppel bestå av argument navn og sin type.
@ Pytest.mark.randomize (("i1", "int»), («i2", "INT"), ncalls = 1)
def test_generate_ints (i1, i2):
& Nbsp; pass
Mer kompleks datastruktur:
@ Pytest.mark.randomize (
& Nbsp; ("D1", "{'x': int, 'y': [str, (int, int)], 'z': {'x': str}}")
)
def test_generate_dict (d1):
& Nbsp; pass
Den Tilfeldig markør er i stand til å bruke med parametrize markør.
@ Pytest.mark.parametrize ("prime", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("F1", "flyte"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (prime, i1, f1):
& Nbsp; pass
Ved hjelp av kommandolinjealternativet --randomize begrenser bare Tilfeldig test.
$ Py.test -v --randomize test_option.py
================================================== ========================================
test økten starter
================================================== ========================================
test_option.py:5: test_normal SKIPPED
test_option.py:8: test_generate_ints [74-22] GÅTT
Bruk
Det noen alternativer for hver datatype:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, type), ** alternativer): markere testfunksjon med
tilfeldige data genererer noen datatype.
& Nbsp; Det finnes alternativer for hver datatype: (se doc for detaljer)
& Nbsp; int: ['min_num', 'max_num']
& Nbsp; float: ['min_num', 'max_num', 'positiv']
& Nbsp; str: ['koding', 'fixed_length', 'MAX_LENGTH', 'str_attrs']
- Vanlig alternativ
& Nbsp; ncalls: angi antall samtaler. Standard til 3. (f.eks ncalls = 5)
& Nbsp; valg: velge mellom gitt sekvens. (for eksempel valg = [3, 5, 7])
- Int
& Nbsp; min_num: nedre grense for å generere heltall. (F.eks min_num = 0)
& Nbsp; max_num: øvre grense for generering heltall. (F.eks max_num = 10)
- Float
& Nbsp; min_num: nedre grense for å generere reelt tall. (F.eks min_num = 0.0)
& Nbsp; max_num: øvre grense for å generere reelt tall. (F.eks max_num = 1,0)
& Nbsp; positiv: generere bare positivt reelt tall hvis satt til Sann. Standard til False. (F.eks positiv = True)
- Str
& Nbsp; koding: generere unicode streng kodet gitt tegnkode. (F.eks encoding = "utf-8") # for Python 2.x bare
& Nbsp; fixed_length: generere fast lengde streng. (F.eks fixed_length = 8)
& Nbsp; MAX_LENGTH: generere streng mindre enn eller lik maks lengde (f.eks MAX_LENGTH = 32)
& Nbsp; str_attrs: generere strengen i gitte bokstaver. satt en tuppel bestå av attributtnavnene i strengen modulen. (F.eks str_attrs = ("tall", "tegnsetting")
Sannsynligvis, er nyttig for å lære hvordan du bruker disse alternativene pytest_quickcheck / tester / test_plugin_basic.py
Hva er nytt i denne utgaven:.
- De typer i argumentene er spesifisert av de typene selv (# 1)
Hva er nytt i versjon 0.6:
- Legg til generering av data funksjon fra funksjon annotering
Krav :
- Python
- py.test
Kommentarer ikke funnet