如何查看Python假设库的输出

时间:2018-10-30 20:27:22

标签: python python-hypothesis

使用hypothesis库并执行单元测试时,如何查看该库在我的代码上尝试的实例?

示例

from hypothesis import given
import hypothesis.strategies as st

@given(st.integers())
def silly_example(some_number):
    assert some_number > 0

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

3 个答案:

答案 0 :(得分:4)

See here-note函数和--hypothesis-verbosity=verbose,或者event函数和--hypothesis-show-statistics应该可以解决问题。

答案 1 :(得分:1)

您可以在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)

然后logger.debug将不再发出记录。

答案 2 :(得分:0)

-hypothesis-verbosity = debug有助于查看输出。