注:fixture用の古いスタイルのpytestの2.7.3を使用しています。私はをに持っていなければなりません。私はLinux上でPython 2.7を使用しています。pytestファイナライザで失敗(エラーではない)テストを発生させることは可能ですか?
私は現在、各テストの最後にチェックが必要なpytestによるテストに取り組んでいます。続行するには、チェックを実行するファイナライザを使用してフィクスチャを書きましたが、例外を発生させると奇妙な結果が生じます。ここで
は、コード(SOのために編集され、あなたは/テストするためにコピー&ペーストすることができます)です。
ので、コードが現在動作しますが、出力は奇妙な、間違ったになります。
# test pass and finalizer raise exception
# expected result : foobar.py::test_ok FAILED
foobar.py::test_ok PASSED
foobar.py::test_ok ERROR
# test fail and finalizer raise exception
# expected result : foobar.py::test_nok FAILED
foobar.py::test_nok FAILED
foobar.py::test_nok ERROR
ファイナライザーが何もしていない場合。
誰かがそれをどのように修正するか考えている場合。私は良いアプローチを持っていないかもしれないが、ファイナライザーは良いアイデアのように聞こえる。
ありがとうございました。
EDIT:私はpytest_runtest_teardown
フックと同じ構成です。