我有以下python文件fct.py。如果我直接在python或ipython中运行test1()或test2(),我将得到:

In [315]: test1()
fct - fct.py[line:9] 2017-01-02 17:23:22,992 : DEBUG :  debug output

In [316]: test2()
fct - fct.py[line:9] 2017-01-02 17:23:26,393 : DEBUG :  debug output


如果我跑步

nosetests -v fct.py


我得到:

test1 logging ... ok
test2 logging ... ok
Ran 2 tests in 0.000s

OK


没有日志输出“调试输出”。

我如何在鼻子测试中获取日志消息“调试输出”?我读了一下鼻子测试-h和google,但似乎找不到解决方法。感谢您的帮助或指点。

''' fct.py '''
import logging

LOGGER = logging.getLogger(__name__)
LOGGER.addHandler(logging.NullHandler())

def fct():
    ''' fct logging '''
    LOGGER.debug(" debug output")

def test1():
    ''' test1 logging '''
    fct()
    assert 1==1

def test2():
    ''' test2 logging '''
    logging.basicConfig(level=logging.DEBUG)
    fct()
    assert 1==1

最佳答案

nosetests --nologcapture fct.py


会成功的

关于python - Nose 测试:如何显示自定义日志,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41424371/

10-16 08:32