使用hypothesis库并执行单元测试时,如何查看该库在我的代码上尝试的实例?
示例
from hypothesis import given
import hypothesis.strategies as st
@given(st.integers())
def silly_example(some_number):
assert some_number > 0
问题是:如何打印/查看库生成的some_number
变量?
答案 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有助于查看输出。