Как изменить максимальное количество тестовых случаев, сгенерированных гипотезой? - PullRequest
0 голосов
/ 19 апреля 2020

Известная гипотеза основанного на свойствах каркаса тестирования способна генерировать массивные контрольные примеры.

Но есть ли способ ограничить количество контрольных примеров, генерируемых гипотезой, чтобы сократить период тестирования?

Например, указание c аргумента ключевого слова для @given декоратора?

1 Ответ

2 голосов
/ 19 апреля 2020

Это зависит от того, хотите ли вы ограничить один тест или для всех, но подход аналогичен и основан на настройках .

Настройка одиночного теста

Чтобы изменить Поведение по умолчанию для некоторых тестов. Мы можем украсить их settings object подобно

from hypothesis import given, settings, strategies


@given(strategies.integers())
@settings(max_examples=10)
def test_this_a_little(x):
    ...


@given(strategies.integers())
@settings(max_examples=1000)
def test_this_many_times(x):
    ...

для test_this_a_little, будет создано 10 примеров (не более) и для test_this_many_times будет 1000.

Настройка всех тестов

Чтобы изменить поведение по умолчанию для всех тестов где-то во время bootstrap вашего теста (например, для pytest это может быть conftest.py module ) мы можем определить пользовательский профиль настроек hypothesis и затем использовать его во время вызова тестов, например

from hypothesis import settings

settings.register_profile('my-profile-name',
                          max_examples=10)

и после этого (при условии, что вы используете pytest)

> pytest --hypothesis-profile=my-profile-name

Дальнейшее чтение

hypothesis довольно круто и позволяет нам настраивать многие вещи, доступные опции перечислены в документации .

...