問題タブ [pytest]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Pythonロギングモジュールからのログファイルにアサートエラーを記録するには、py.testが必要です
Pythonロギングモジュールからのログファイルにアサートエラーを記録するには、py.testが必要です。テストにはPythonロギングモジュールが設定されており、すべてのログが期待どおりにそこに送られます。テスト全体を通してassertステートメントを使用しました。ただし、アサーションエラーが発生した場合、それらのメッセージはPythonのログ出力ではなく、コマンドコンソールに記録されます。
py.testにアサーションエラーをテストのログ出力に記録させる方法はありますか?
現在、エラーはコマンドコンソールにありますが、これらのアサーションエラーもPythonログ出力の一部としてログに記録され、すべてのログメッセージが1か所にキャプチャされると便利です。また、長時間実行するテストの場合、テスト全体が終了するまでエラーを確認できません。これは、長い待ち時間になる可能性があります。アサーションエラーをすぐに確認できれば、行動を起こすことができれば素晴らしいと思います。
python - 異なるディレクトリのテストが同じと呼ばれる場合のテスト検出の失敗
py.testを使用すると、異なるディレクトリで同じものを呼び出す2つのテストにより、py.testが失敗します。何故ですか?すべてのテストの名前を変更せずにこれを変更するにはどうすればよいですか?
複製するには:
pytest - pytest: pytest_sessionstart() と pytest_sessionfinish() は有効なフックですか?
と有効なフックpytest_sessionstart(session)
は? pytest_sessionfinish(session)
それらはdev フック ドキュメントまたは最新のフック ドキュメントには記載されていません。
pytest_configure(config)
それらと/の違いは何pytest_unconfigure(config)
ですか?
ドキュメントでは次のように述べられています。
pytest_configure(config)
コマンド ライン オプションが解析された後に呼び出されます。すべてのプラグインと初期 conftest ファイルがロードされました。
と
pytest_unconfigure(config)
テストプロセスが終了する前に呼び出されます。
セッションは同じですよね?
ありがとう!
python - py.test と norecursedirs の粒度
私はこれらのディレクトリを持っています:
の py.test のオプションに追加Tools
しました。予想どおり、py.test がテストを収集するときは調査されません。しかし、どちらもそうではなく、これが欲しいのでこれは問題です。norecursedirs
setup.cfg
./Tools
./ook/Tools
これを達成する方法はありますか?
python - pytest: デコレーターで依存性注入を使用する
@rollback
職場では、選択したテスト関数でデコレーターを使用します。これは、そのテスト中に行われたデータベースの変更をロールバックします。
私は最近@pytest.mark.parametrize(...)
、フックとpytest_funcarg__XXX
フックの両方で、いくつかのユースケースに pytest の依存性注入を使い始めました。残念ながら、これは装飾されたテスト関数と衝突します。
どうすればこれを機能させることができますか?
私の最初のアイデアは、カスタム マーカーを使用することでした@pytest.mark.rollback
。
このようなアプローチは実際に機能しますか?
python - py.test-2.3 をインストールするにはどうすればよいですか?
奇妙に聞こえるかもしれませんが、理解できません。ここ (http://pytest.org/dev/getting-started.html) では、シンプルpip install pytest
に動作すると書かれていますが、pytest-2.2.4 しかインストールされません。
行って直接見つけようとしましpypi.python.org
たが、得られるのは pytest-2.2.4 (http://pypi.python.org/pypi/pytest) だけです
いくつかのグーグル検索では、私を除いて誰もがそれを手に入れたように見えるという事実を除いて、結果は得られませんでした.
Mac で Python27 を使用する。
pytest - 合格した py.test テストのキャプチャされた stdout はどこにありますか?
py.test レポート フック (pytest_runtest_makereport() および pytest_report_teststatus()) を使用しています。
py.test テストが失敗すると、レポート フック (report.sections[]) でキャプチャされた stdout データを見つけることができます。
py.test テストに合格すると、report.sections[] リストは空になります。
合格したテストのキャプチャされた stdout はどこにありますか?
ありがとう。
編集: ソース (_pytest/capture.py) から、これはテストに合格しない場合にのみ利用できるようです:
jython - Jython で pytest を使用する
Jythonでpytestを使用しようとしています。そして、私は最初から立ち往生しています。
easy_install を使用して pytest パッケージを正常にインストールしました。
このページから例を実行しようとすると、問題が発生します。以下のような非常に長い失敗レポートを受け取りました。なぜこれが起こっているのか誰にも分かりますか?
py.test-jython
============================ テストセッション開始 ================= ============ platform java1.6.0_37 -- Python 2.5.3 -- pytest-2.3.2 1件集めました
test_sample.py F
=================================== 失敗 ============== ==================== _ __ _ _ __ _ _ __ _ _ test_answer _ _ _ _ __ _ _ __ _ __ _ _ _ _
test_sample.py:5:
自己=アサーションエラー()
../jython2.5.3/Lib/site-packages/pytest-2.3.2-py2.5.egg/_pytest/assertion/reinterpret.py:32:
source = 'assert func(3) == 5', フレーム = should_fail = True
../jython2.5.3/Lib/site-packages/pytest-2.3.2-py2.5.egg/_pytest/assertion/newinterpret.py:49:
. . .
self = <_pytest.assertion.newinterpret.DebugInterpreter object at 0x4> name = 名前
../jython2.5.3/Lib/site-packages/pytest-2.3.2-py2.5.egg/_pytest/assertion/newinterpret.py:147:
self = <_pytest.assertion.newinterpret.DebugInterpreter object at 0x4> ノード = 名前
E AssertionError: 名前を処理できません
../jython2.5.3/Lib/site-packages/pytest-2.3.2-py2.5.egg/_pytest/assertion/newinterpret.py:134: AssertionError ============== ============= 0.55 秒で 1 件失敗 ==========================
python - pytest 2.3 のパッケージ スコープのフィクスチャ
pytest の最新リリースでは、次のように、関数、クラス、モジュール、またはセッション スコープのフィクスチャを簡単に作成できます。
これにより、使用される各 python モジュールに対して 1 回だけ呼び出されるフィクスチャが作成されます。
しかし、Python パッケージごとに 1 回呼び出す必要があるフィクスチャについてはどうでしょうか。(nose の場合、パッケージの setUp/tearDown メソッドを使用して実行でき__init__.py
ます)
python - セットアップのコマンドライン引数を理解するためにpytestを取得できません
そのため、コマンドライン引数に基づいて、さまざまな環境でseleniumテストを実行するようにpytestを取得しようとしています。しかし、それはこのエラーをスローし続けます:
setup_class
2つの引数を取ることは理解しているようですが、host
渡されていません。のコードは次のsetup_class
とおりです。
そしてここにconftest.pyファイルがあります:
奇妙なのはhost
、関数によって見られていることです(したがって、test_functionを作成し、ホストをパラメーターとして渡すと、問題なく取得されます)、機能してsetup
いないのはフィクスチャだけです。
私は周りを見回して、これ、pytestを見つけました-setup_module内でfuncargsを使用しますが、それは機能していないようです(そして、2.3以降は古くなっています。
誰かが私が間違っていることを知っていますか?py.testの使用2.3.2。
ありがとう