pytest-Quickcheck eine pytest.mark.randomize Funktion zur Erzeugung von Zufallstestdaten.
Installation
& Nbsp; easy_install pytest-Quickcheck # oder
& Nbsp; pip installieren pytest-Quickcheck
Quick Start
Übergeben Sie einfach die Signatur der Funktion Marker zufällig. Die Signatur wird repräsentiert ein Tupel aus Argumentnamen und den Typ.
@ Pytest.mark.randomize (("i1", "int"), ("i2", "int"), ncalls = 1)
def test_generate_ints (i1, i2):
& Nbsp; Pass
Komplexere Datenstruktur:
@ Pytest.mark.randomize (
& Nbsp; ("d1", "{'x': int, 'y': [str, (int, int)]," z ": {" x ": str}}")
)
def test_generate_dict (d1):
& Nbsp; Pass
Die randomize Marker in der Lage, mit parametrieren Marker verwenden.
@ Pytest.mark.parametrize ("Prime", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("F1", "float"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (Prime, i1, f1):
& Nbsp; Pass
Mit Befehlszeilenoption --randomize nur die randomize Test einschränkt.
$ Py.test -v --randomize test_option.py
================================================== ========================================
Testsitzung beginnt
================================================== ========================================
test_option.py:5: test_normal SKIPPED
test_option.py:8: test_generate_ints [74-22] PASSED
Verwendung
Es einige Optionen für jeden Datentyp:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, Typ), ** Optionen): Markiert das Testfunktion mit
Zufallsdatenerzeugungs jeden Datentyp.
& Nbsp; Es gibt Optionen für jeden Datentyp: (siehe doc für Details)
& Nbsp; int: ['min_num', 'MAX_NUM']
& Nbsp; float: ['min_num', 'MAX_NUM', 'positive']
& Nbsp; str: ['encoding', 'fixed_length', 'max_length', 'str_attrs']
- Gemeinsame Option
& Nbsp; ncalls: Stellen Sie die Anzahl der Anrufe. Der Standardwert ist 3. (z ncalls = 5)
& Nbsp; Möglichkeiten: wählen Sie aus vorgegebenen Reihenfolge. (Z.B. Auswahl = [3, 5, 7])
- Int
& Nbsp; min_num: Untergrenze zur Erzeugung von Ganzzahl. (Z.B. min_num = 0)
& Nbsp; MAX_NUM: Obergrenze für die Erzeugung ganze Zahl. (Z.B. MAX_NUM = 10)
- Schwimmer
& Nbsp; min_num: Untergrenze für die Erzeugung reelle Zahl. (Z min_num = 0,0)
& Nbsp; MAX_NUM: Obergrenze für die Erzeugung reelle Zahl. (Z MAX_NUM = 1,0)
& Nbsp; positiv: erzeugen nur positive reelle Zahl, wenn auf True gesetzt. Der Standardwert ist False. (Z positive = True)
- Str
& Nbsp; Codierung: Unicode-String erzeugen bestimmten Zeichencode codiert. (Z encoding = "utf-8") # nur Python 2.x
& Nbsp; fixed_length: erzeugen Zeichenfolge mit fester Länge. (Z.B. fixed_length = 8)
& Nbsp; max_length: erzeugen der String kleiner oder gleich max Länge (zB max_length = 32)
& Nbsp; str_attrs: erzeugen Sie die Zeichenfolge in bestimmten Buchstaben. setzen ein Tupel aus Attributnamen im String-Modul. (Z str_attrs = ("Ziffern", "Satzzeichen")
Wahrscheinlich ist nützlich für das Lernen, wie Sie diese Optionen verwenden pytest_quickcheck / Tests / test_plugin_basic.py
Was ist neu in dieser Pressemitteilung:.
- Die Arten der Argumente werden von den Arten selbst (# 1) angegeben
Was ist neu in Version 0.6:
- Fügen Sie die Erstellung der Daten Funktion von Funktion Annotation
Anforderungen :
- Python
- py.test
Kommentare nicht gefunden