pytest-QuickCheck funkcję pytest.mark.randomize do generowania danych testowych losowych.
instalacji
& Nbsp; easy_install pytest-QuickCheck # lub
& Nbsp; pip install pytest-QuickCheck
Szybki start
Wystarczy przejść podpis funkcji do losowy znacznik. Podpis jest reprezentowana krotka składać się z nazwy argumentów i jej rodzaju.
@ Pytest.mark.randomize (("i1", "int") ("i2", "int") ncalls = 1)
test_generate_ints def (I1, I2):
& Nbsp; karnet
Bardziej złożone struktury danych:
@ Pytest.mark.randomize (
& Nbsp; ("D1", "{" x ": int, 'y': [str, (int, int)]," z ": {" x ": ul}}")
)
test_generate_dict def (d1):
& Nbsp; karnet
Losowy znacznik jest w stanie korzystać z znacznik parametrize.
@ Pytest.mark.parametrize ("prime", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("F1", "pływak"), ncalls = 1)
test_gen_parametrize_with_randomize_int_float def (premier, i1, f1):
& Nbsp; karnet
Korzystanie z opcji wiersza poleceń --randomize ogranicza tylko test losowo.
$ Py.test -v --randomize test_option.py
================================================== ========================================
Rozpocznie się sesja testów
================================================== ========================================
test_option.py:5: test_normal POMINIĘTYCH
test_option.py:8: [74-22] test_generate_ints PODJĘTE
Stosowanie
Istnieje kilka opcji dla każdego typu danych:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, typ), ** opcje): zaznacz funkcję testową z
Dane losowe generowanie wszelkiego rodzaju danych.
& Nbsp; Istnieją opcje dla każdego rodzaju danych: (patrz dok szczegóły)
& Nbsp; int: ['min_num "," max_num']
& Nbsp; pływaka: ['min_num "," max_num "," pozytywny "]
& Nbsp; str: ["kodowania", "fixed_length", "max_length", "str_attrs ']
- Popularna
& Nbsp; ncalls: ustawić liczbę połączeń. Domyślnie 3. (np ncalls = 5)
& Nbsp; do wyboru: wyboru danej sekwencji. (na przykład wyborów = [3, 5, 7])
- Int
& Nbsp; min_num: dolna granica do generowania liczby całkowitej. (Np min_num = 0)
& Nbsp; max_num: górna granica do generowania liczby całkowitej. (Np max_num = 10)
- Pływak
& Nbsp; min_num: dolna granica generowania liczbę rzeczywistą. (Np min_num = 0,0)
& Nbsp; max_num: górna granica do generowania liczby rzeczywistej. (Np max_num = 1,0)
& Nbsp; pozytywne: generować tylko dodatnie liczby rzeczywistej, jeśli wartość True. Domyślnie jest to fałsz. (Np dodatnia = True)
- Str
& Nbsp; Kodowanie: generowanie Unicode znaków zakodowany dany kod znaku. (Np kodowanie = "utf-8") # Python 2.x tylko
& Nbsp; fixed_length: generować ciąg stałej długości. (Np fixed_length = 8)
& Nbsp; max_length: generuje ciąg mniejsza niż lub równa maksymalnej długości (np max_length = 32)
& Nbsp; str_attrs: generować ciąg w podanych liter. zestaw składa się z krotki nazw atrybutów w module smyczkowy. (Np str_attrs = ("cyfry", "interpunkcja")
Prawdopodobnie pytest_quickcheck / testy / test_plugin_basic.py jest przydatna do nauki, jak korzystać z tych opcji
Co nowego w tym wydaniu:.
- Typy na argumenty są określone przez samych (# 1), typów
Co nowego w wersji 0.6:
- Dodaj generowania funkcji przesyłania danych z funkcji adnotacji
Wymagania :
- Python
- py.test
Komentarze nie znaleziono