2017-01-03 25 views
2

私は手動でtearDownを呼び出すことができるようにキーボード割り込みを捕まえようとしています。私は、これが存在することを知っている:pytestでキーボード割り込みフックを使用する

def pytest_keyboard_interrupt(excinfo): 
    """ called for keyboard interrupt. """ 

ここから:http://doc.pytest.org/en/latest/_modules/_pytest/hookspec.html

しかし、私は私のテストでそれを上書きする/それを使用する方法がわかりません。私はpytestに新しいです。

誰でもこの経験がありますか?あなたがそのファイルにconftest.pyファイルを作成し、pytest_keyboard_interruptをオーバーライドする必要が

答えて

3

# content of conftest.py 

def pytest_keyboard_interrupt(excinfo): 
    # Calling tearDown. 

注:質問が重複していない、しかし答えはにあなたのケースのためにフルに使用することがありますことを、うんpy.test: get KeyboardInterrupt to call teardown

+0

私のために働いた。ありがとう!割り込みが発生したときにテストが実行されていたクラスのインスタンスを取得できるかどうかを知っていますか?例えば、TestDummyクラスの中にtest_dummyというクラスがあります。 Ctrl + Cキーを押して、pytest_keyboard_interruptで終了します。私はまだTestDummyの中でティアダウンを呼び出す必要があります。それはできますか? – dnmh

+0

@ dnmhそれは良い質問であり、あなたが自分で答えを見つけることができないなら、私はそれがtearDownにアクセスし、いくつかの接着剤を与えるかもしれない音符を配置することは難しいだろうと気づいた、別のSOの質問に値すると思います... –

+0

実際には、私ができることは、ティークダウンがこのフック方法で直接行う動作を模倣することです。とにかくいくつかの行があり、重複はあまりありません。私はそれらのリソースを直接削除します。 – dnmh

関連する問題