如何查看Python的输出'的假设库



在使用假设库和执行单元测试时,如何查看库在我的代码上尝试了哪些实例?

示例

from hypothesis import given
import hypothesis.strategies as st
@given(st.integers())
def silly_example(some_number):
assert some_number > 0

问题是:如何打印/查看库生成的some_number变量?

请参阅此处-note函数和--hypothesis-verbosity=verbose,或者event函数和--hypothesis-show-statistics都可以。

您可以将打印语句或日志记录语句放在assert:之前

import logging
from hypothesis import given
import hypothesis.strategies as st
log_filename = 'debug.log'
logging.basicConfig(filename=log_filename, level=logging.DEBUG)
logger = logging.getLogger(__name__)
@given(st.integers())
def silly_example(some_number):
logger.debug('silly_example(%s) called', some_number)
assert some_number > 0

通过使用日志记录而不是打印语句,可以关闭所有日志记录只需更改日志记录级别。如果将logging.DEBUG更改为logging.INFO:

logging.basicConfig(filename=log_filename, level=logging.INFO)

则CCD_ 9将不再发射记录。

——假设verbose=debug有助于查看输出。

--hypothesion verbose=debug和--hypot假设verbose=verbose都对我有效,但我必须使用pytest才能不捕获输出,前面有-s。看起来像这样:

python -m pytest -s --hypothesis-verbosity=debug tests

最新更新