代码之家  ›  专栏  ›  技术社区  ›  Newskooler

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

  •  4
  • Newskooler  · 技术社区  · 6 年前

    当使用 hypothesis

    例子

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

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

    2 回复  |  直到 6 年前
        1
  •  2
  •   unutbu    6 年前

    您可以将print语句或logging语句放在 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
  •  6
  •   Zac Hatfield-Dodds    6 年前

    See here -要么 note --hypothesis-verbosity=verbose ,或 event 功能和 --hypothesis-show-statistics

        3
  •  0
  •   Aparna Bose    5 年前

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