23

私が選択したテストライブラリの前はunittestでした。私のお気に入りのデバッガーである Pudbで動作していました。Pdbではありません!!!

unittestPudbを使用するimport pudb;pudb.set_trace()には、コード行の間に貼り付けます。python -m unittest my_file_testここで、my_file_testは my_file_test.py ファイルのモジュール表現です

単に使用しても機能しnosetests my_file_test.pyません -AttributeError: StringIO instance has no attribute 'fileno'スローされます。

py.testではどちらも機能し
py.test my_file_test.py
ません:
python -m pytest my_file_test.py

両方投げるValueError: redirected Stdin is pseudofile, has no fileno()

py.testPudbを使用する方法についてのアイデア

4

2 に答える 2

26

-sフラグを追加するだけで、pytest は stdin と stdout を置き換えず、デバッグにアクセスできるようになります。つまり、pytest -s my_file_test.pyうまくいきます。

ambi が提供するドキュメントでは、以前は明示的に-sを使用することが通常のpdbにも必要であったとも言われていますが、現在は-sフラグが暗黙的に--pdbフラグと共に使用されています。

ただし、 pytestは暗黙的にpUdbをサポートしていないため、 -s を設定する必要があります。

于 2014-08-07T12:56:07.493 に答える