UnitTestsにはKeyboardInterrupt
をキャプチャする機能があり、テストを終了して結果を報告します。次いでpytestでKeyboardInterruptをキャプチャする方法は?
-c、終了する現在のテストのためのテストの実行を待機中--catch
コントロール-Cとは、これまでのすべての結果を報告します。 A Control-C は、通常のKeyboardInterrupt例外を発生させます。
この機能を提供する関数のシグナル処理を参照してください。
c.f. PyTestで
https://docs.python.org/2/library/unittest.html#command-line-options、はCtrl +Cだけでセッションを停止します。
UniTestsと同じことを実行する方法があります:実行する
- キャプチャ
KeyboardInterrupt
- 仕上げは、継続
- スキップ他のテスト
- 表示結果[オプション]のテストを、レポートを印刷する可能性があります(例:
pytest-html
の使用)
ありがとう
[編集2016年11月11日]
私は私のconftest.py
ファイルにフックを入れてみましたが、仕事と捉えていないようです。特に、次は、toto.txt
には何も書き込まれません。
def pytest_keyboard_interrupt(excinfo):
with open('toto.txt', 'w') as f: f.write("Hello")
pytestmark = pytest.mark.skip('Interrupted Test Session')
誰か新しい提案がありますか?
良いスタートに見えます。具体的には、私自身のプラグインを書かずにそれを使う方法は? –