pytest-快速檢查提供了pytest.mark.randomize函數用於產生隨機測試數據。
安裝
  easy_install的pytest-快速檢查或#
  PIP安裝pytest,快速檢查
快速啟動
只是通過函數的簽名隨機標記。簽名表示一個元組包含的參數名稱和類型。
@ pytest.mark.randomize((“I1”,“INT”),(“I2”,“INT”),ncalls = 1)
DEF test_generate_ints(I1,I2):
 通
更複雜的數據結構:
@ pytest.mark.randomize(
 (“D1”,“{”X“:整數,'Y':[STR,(INT,INT)],'Z':{'X':STR}}”)
)
DEF test_generate_dict(D1):
 通
該隨機化標記是能夠與參數化的標記來使用。
@ pytest.mark.parametrize(“素”,[2,3,5])
@ pytest.mark.randomize((“I1”,“INT”),(“F1”,“浮動”),ncalls = 1)
高清test_gen_parametrize_with_randomize_int_float(黃金,I1,F1):
 通
使用--randomize僅限制隨機化測試命令行選項。
$ py.test -v --randomize test_option.py
================================================== ========================================
測試環節開始
================================================== ========================================
test_option.py:5:test_normal SKIPPED
test_option.py:8:test_generate_ints [74-22]傳遞
用法
還有一些選項每個數據類型:
$ py.test --markers
@ pytest.mark.randomize((argname,類型),**選項):標記測試函數
隨機數據生成的任何數據類型。
 有每個數據類型選項:(見文檔的詳細信息)
  INT:['MIN_NUM','MAX_NUM']
 浮動:['MIN_NUM','MAX_NUM','積極']
  STR:['編碼','fixed_length','MAX_LENGTH','str_attrs']
- 共同的選擇
  ncalls:設置呼叫的數量。默認為3(例如ncalls = 5)
 選擇:從給定的順序選擇。 (例如,選擇= [3,5,7])
- INT
  MIN_NUM:用於產生整數下限。 (例如MIN_NUM = 0)
  MAX_NUM:用於產生整數上限。 (例如MAX_NUM = 10)
- 浮動
  MIN_NUM:產生實數下限。 (例如MIN_NUM = 0.0)
  MAX_NUM:產生實數上限。 (例如MAX_NUM = 1.0)
 正面:如果設置為True只生成正實數。默認為false。 (例如積極=真)
- 海峽
 編碼:生成unicode字符串編碼給定的字符代碼。 (例如,編碼=“UTF-8”)#僅Python的2.x的
  fixed_length:生成固定長度的字符串。 (例如fixed_length = 8)
  MAX_LENGTH:產生比串小於或等於最大長度(例如MAX_LENGTH = 32)
  str_attrs:生成字符串中給定的字母。設置一個元組包含的屬性名的字符串模塊。 (例如str_attrs =(“數字”,“標點符號”)
也許,pytest_quickcheck /測試/ test_plugin_basic.py是學習如何使用這些選項非常有用
什麼在此版本中是新的:
- 在參數的類型由類型本身(#1) 指定
什麼在0.6版本的新:
- 在添加生成的數據功能,從功能註釋
要求:
- 在Python中
- 在py.test
評論沒有發現