#python #pandas #debugging #python-hypothesis
#python #pandas #отладка #python-гипотеза
Вопрос:
Используя hypothesis
библиотеку для модульного тестирования, мне интересно, как я могу воспроизвести фальсифицирующий пример pd.DataFrame
?
Результат выглядит следующим образом:
Falsifying example: test_data_frame_data(
data= sec_1 sec_2 sec_3
2020-01-01 00:00:00.000001 0.0 -0.0 0.0
2020-01-01 00:00:00.000000 0.0 -0.0 0.0
2020-01-01 00:00:00.000257 0.0 -0.0 0.0
2020-01-01 00:00:00.000258 0.0 -0.0 0.0
2020-01-01 00:00:00.000261 0.0 -0.0 0.0
... ... ... ...
2020-01-01 00:00:01.526858 0.0 -0.0 0.0
2020-01-01 01:00:01.065796 0.0 -0.0 0.0
2020-01-01 01:00:01.065797 0.0 -0.0 0.0
2020-01-01 01:01:01.065795 0.0 -0.0 0.0
2020-01-01 00:01:01.000020 0.0 -0.0 0.0
[300 rows x 3 columns],
)
Hypothesis
не печатал seed
или намек на @reproduce_failure
.
Я просто хотел бы использовать фальсифицирующий пример для отладки моего кода.
Ответ №1:
Я получил подсказку на странице проблем с гипотезой GitHub (https://github.com/HypothesisWorks/hypothesis/issues/2584). Благодарности @Zac-HD.
Первое решение:
поставить @settings(print_blob=True)
перед тестом. Это гарантирует, что вы получите подсказку, как воспроизвести потенциальную ошибку.
Второе решение:
зарегистрируйте профиль настроек (например, в вашем conftest.py
):
from hypothesis import settings
settings.register_profile(name="dev", max_examples=20, print_blob=True)
Все о settings
можно найти в официальных документах: https://hypothesis.readthedocs.io/en/latest/settings.html