pytest-quickcheck

pytest plugin to generate random data inspired by QuickCheck
Download

pytest-quickcheck Ranking & Summary

Advertisement

  • Rating:
  • License:
  • The Apache License 2.0
  • Price:
  • FREE
  • Publisher Name:
  • Tetsuya Morimoto
  • Publisher web site:
  • http://t2y.bitbucket.org/ikazuchi/

pytest-quickcheck Tags


pytest-quickcheck Description

pytest-quickcheck provides a pytest.mark.randomize function for generating random test data.Installation easy_install pytest-quickcheck # or pip install pytest-quickcheckQuick StartJust pass the signature of function to randomize marker. The signature is represented a tuple consist of argument name and its type.@pytest.mark.randomize(("i1", "int"), ("i2", "int"), ncalls=1)def test_generate_ints(i1, i2): passMore complex data structure:@pytest.mark.randomize( ("d1", "{'x': int, 'y': , 'z': {'x': str}}"))def test_generate_dict(d1): passThe randomize marker is able to use with parametrize marker.@pytest.mark.parametrize("prime", )@pytest.mark.randomize(("i1", "int"), ("f1", "float"), ncalls=1)def test_gen_parametrize_with_randomize_int_float(prime, i1, f1): passUsing command line option --randomize restricts only the randomize test.$ py.test -v --randomize test_option.py==========================================================================================test session starts==========================================================================================test_option.py:5: test_normal SKIPPEDtest_option.py:8: test_generate_ints PASSEDUsageThere some options for each data type:$ py.test --markers@pytest.mark.randomize((argname, type), **options): mark the test function withrandom data generating any data type. There are options for each data type: (see doc for details) int: float: str: - common option ncalls: set the number of calls. Defaults to 3. (e.g. ncalls=5) choices: choose from given sequence. (e.g. choices=)- int min_num: lower limit for generating integer number. (e.g. min_num=0) max_num: upper limit for generating integer number. (e.g. max_num=10)- float min_num: lower limit for generating real number. (e.g. min_num=0.0) max_num: upper limit for generating real number. (e.g. max_num=1.0) positive: generate only positive real number if set to True. Defaults to False. (e.g. positive=True)- str encoding: generate unicode string encoded given character code. (e.g. encoding="utf-8") # for Python 2.x only fixed_length: generate fixed length string. (e.g. fixed_length=8) max_length: generate the string less than or equal to max length (e.g. max_length=32) str_attrs: generate the string in given letters. set a tuple consist of attribute names in the string module. (e.g. str_attrs=("digits", "punctuation")Probably, pytest_quickcheck/tests/test_plugin_basic.py is useful for learning how to use these options.Product's homepage


pytest-quickcheck Related Software