pytest-quickcheck ay nagbibigay ng isang pytest.mark.randomize pag-andar para sa pagbuo ng random na data ng pagsubok.
Pag-install
& Nbsp; easy_install pytest-quickcheck # o
& Nbsp; buto ng bungang-kahoy-install pytest-quickcheck
Quick Start
Pumasa lang ng pirma ng function na sunod marker. Ang lagda ay kinakatawan ng isang tuple binubuo ng pangalan ng argumento at uri nito.
@ Pytest.mark.randomize (("i1", "int"), ("i2", "int"), ncalls = 1)
def test_generate_ints (i1, i2):
& Nbsp; pass
Higit pang mga kumplikadong istraktura ng data:
@ Pytest.mark.randomize (
& Nbsp; ("D1", "{'x': int, 'y': [STR, (int, int)], 'z': {'x': STR}}")
)
def test_generate_dict (D1):
& Nbsp; pass
Ang sunod marker ay magagawang gamitin sa parametrize marker.
@ Pytest.mark.parametrize ("prime", [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("F1", "float"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (de-kalidad, i1, F1):
& Nbsp; pass
Gamit ang pagpipilian sa linya ng command --randomize nagtatakda lamang ang pagsubok sunod.
$ Py.test -v --randomize test_option.py
================================================== ========================================
pagsisimula ng pagsubok session
================================================== ========================================
test_option.py:5: test_normal Nilaktawan
test_option.py:8: test_generate_ints [74-22] ang pumasa
Paggamit
Mayroong ilang mga pagpipilian para sa bawat uri ng data:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, uri), ** opsyon): markahan ang mga pagsubok function na may
random na data sa pagbuo ng anumang uri ng data.
& Nbsp; Walang mga pagpipilian para sa bawat uri ng data: (tingnan ang doc para sa mga detalye)
& Nbsp; int: ['min_num', 'max_num']
& Nbsp; float: ['min_num', 'max_num', 'positibong']
& Nbsp; STR: ['pag-encode', 'fixed_length', 'MAX_LENGTH', 'str_attrs']
- Mga karaniwang pagpipilian
& Nbsp; ncalls: itakda ang bilang ng mga tawag. Mga Default na 3. (hal ncalls = 5)
& Nbsp; mga pagpipilian: piliin mula sa ibinigay na pagkakasunud-sunod. (Hal pagpipilian = [3, 5, 7])
- Int
& Nbsp; min_num: mas mababang limitasyon para sa pagbuo ng integer number. (Hal min_num = 0)
& Nbsp; max_num: itaas na limitasyon para sa pagbuo ng integer number. (Hal max_num = 10)
- Magpalutang
& Nbsp; min_num: mas mababang limitasyon para sa pagbuo ng mga tunay na numero. (Hal min_num = 0.0)
& Nbsp; max_num: itaas na limitasyon para sa pagbuo ng mga tunay na numero. (Hal max_num = 1.0)
& Nbsp; positibong: bumubuo lamang ng mga positibong real numero kung nakatakda sa True. Mga Default sa False. (Hal positibong = True)
- STR
& Nbsp; encoding: bumuo ng mga naka-encode string Unicode character na ibinigay code. (Hal pag-encode = "utf-8") # para lamang Python 2.x
& Nbsp; fixed_length: bumuo ng mga nakapirming haba string. (Hal fixed_length = 8)
& Nbsp; MAX_LENGTH: bumuo ng string na mas mababa sa o katumbas ng max na haba (hal MAX_LENGTH = 32)
& Nbsp; str_attrs: mabuo ang string sa ibinigay na mga titik. itakda ang isang tuple ay binubuo ng mga pangalan ng katangian sa string module. (Hal str_attrs = ("digit", "bantas")
Marahil, pytest_quickcheck / pagsubok na A / test_plugin_basic.py ay kapaki-pakinabang para sa pag-aaral kung paano gamitin ang mga pagpipiliang ito
Ano ang bagong sa paglabas:.
- Ang mga uri sa mga argument ay tinutukoy ng mga uri ng kanilang sarili (# 1)
Ano ang bagong sa bersyon 0.6:
- Magdagdag ng pagbuo ng mga tampok ng data mula sa function na anotasyon
Mga Kinakailangan :
- Python
- py.test
Mga Komento hindi natagpuan