pytest-QuickCheck rastgele test verileri üretmek için bir pytest.mark.randomize fonksiyonu sağlar.
Kurulum
& Nbsp; easy_install pytest-QuickCheck # veya
& Nbsp; pip pytest-QuickCheck yüklemek
Hızlı Başlat
Sadece işaretleyici rastgele işlevin imza geçmek. imza demet argüman adı ve türü oluşur temsil edilir.
@ Pytest.mark.randomize (("i1", "int"), ("i2", "int") ncalls = 1)
def test_generate_ints (i1, i2):
& Nbsp; geçiş
Daha karmaşık veri yapısı:
@ Pytest.mark.randomize (
& Nbsp; ("d1", "{x ': int,' y ': [str, (int, int)],' z ': {x': str}}")
)
def test_generate_dict (d1):
& Nbsp; geçiş
rastgele işaret parametrize işareti ile kullanmak mümkün.
@ Pytest.mark.parametrize ("Başbakan" [2, 3, 5])
@ Pytest.mark.randomize (("i1", "int"), ("f1", "şamandıra"), ncalls = 1)
def test_gen_parametrize_with_randomize_int_float (başbakan, i1, f1):
& Nbsp; geçiş
Sadece rastgele testi kısıtlar --randomize komut satırı seçeneği kullanarak.
$ Py.test v --randomize test_option.py
================================================== ========================================
Test oturumu başlar
================================================== ========================================
test_option.py:5: test_normal SKIPPED
test_option.py:8: VEFAT test_generate_ints [74-22]
Kullanım
Orada her veri tipi için bazı seçenekler:
$ Py.test --markers
@ Pytest.mark.randomize ((argname, tipi), ** seçenekler): Test fonksiyonu işaretlemek
Herhangi bir veri türünü üreten rastgele veriler.
& Nbsp; her veri türü için seçenekler vardır: (detaylar için bkz doc)
& Nbsp; int: ['min_num', 'MAX_NUM']
& Nbsp; float: ['min_num', 'MAX_NUM', 'olumlu']
& Nbsp; str: ['kodlama', 'fixed_length', 'max_length', 'str_attrs']
- Ortak bir seçenek
& Nbsp; ncalls: çağrıların sayısını ayarlayın. 3. Varsayılan (örneğin ncalls = 5)
& Nbsp; seçimler: Verilen dizisi seçim. (Örneğin, seçenek = [3, 5, 7])
- Int
& Nbsp; min_num: tamsayı sayısını oluşturmak için alt limit. (Örneğin min_num = 0)
& Nbsp; MAX_NUM: tamsayı sayısını oluşturmak için üst sınır. (Örneğin MAX_NUM = 10)
- Şamandıra
& Nbsp; min_num: gerçek sayı üretmek için alt limit. (Örneğin min_num = 0.0)
& Nbsp; MAX_NUM: gerçek sayı üretmek için üst sınır. (Örneğin MAX_NUM = 1.0)
& Nbsp; pozitif: True olarak ayarlandığında yalnızca pozitif reel sayı üretmek. Yanlış öntanımlıdır. (Örneğin pozitif = true)
- Str
& Nbsp; kodlama: Unicode dize verilen karakter kodu kodlanmış oluşturmak. (Örneğin, encoding = "utf-8") Python 2.x sadece #
& Nbsp; fixed_length: sabit uzunlukta dize oluşturmak. (Örneğin fixed_length = 8)
& Nbsp; max_length: max uzunluğa dize daha az veya eşit oluşturmak (örneğin max_length = 32)
& Nbsp; str_attrs: Verilen harflerle dize oluşturmak. Bir demet dize modülünde nitelik adları oluşmaktadır ayarlayın. (Örneğin, str_attrs = ("rakam", "noktalama")
Muhtemelen, pytest_quickcheck / testler / test_plugin_basic.py bu seçenekleri nasıl kullanılacağını öğrenmek için yararlıdır
Bu sürümde Yeni nedir:.
- argümanlar türleri türleri kendileri (# 1) tarafından belirtilen
sürüm 0.6 yeni nedir:
- fonksiyon notundan üreten veri özelliği ekleyin
Gereksinimler :
- Python
- py.test
Yorum Bulunamadı