Pycharm unit test interactive debug command line doesn't work

前端 未结 4 1623
深忆病人
深忆病人 2020-12-03 04:24

When debugging unit tests (through the pycharm test runner), one can turn on the interactive command line, but (unlike when debugging regular scripts) the commands entered d

4条回答
  •  伪装坚强ぢ
    2020-12-03 05:02

    This is likely because your test runner is capturing stdout but not stderr.

    I use py.test which captures both stdout and stderr so I see no output at all. If I want to see output I have to pass the -s flag to my py.test runner which can be done by modifying the run/debug configuration and adding this flag to the options field. (Run > Edit Configurations > Defaults > Python tests > py.test > add -s to the "additional arguments" field.)

    >>> print 'a'
    a
    >>> import sys
    >>> sys.stderr.write('moof')
    moof
    >>> sys.stdout.write('moof')
    moof
    >>> sys.stderr.write('test')
    test
    

    Note: the -s flag can equally be used with nose tests

提交回复
热议问题