問題タブ [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.
pytest - py.test は複数の -k オプションをサポートできますか?
py.test は複数の -k オプションをサポートできますか? 各テストケースは、_eventnotification や _interface などの特定のグループに属しています。一方または両方に属するテスト ケースを同時に実行することはできますか? つまり、名前に _eventnotification または _interface が含まれるテストケースを同時に実行します。以下を試してみましたが、_interface を含むテストケースのみが実行されました。それがサポートされていない場合、これを行う別の方法はありますか?
py.test -k "_eventnotification" -k "_interface"
python - Python/tox、テストの前にプロセスを開始し、完了したらシャットダウンします
私はToxを使用して、開発中のシステムが新しい環境にインストールされたときに正常に動作することを確認しています(+ファイルの健全性チェックsetup.py
)。ただし、システムはmemcached
サーバーを使用しており、理想的には、実行ごとに新しいサーバーを生成したいと考えていTox
ます。
テストを実行する前にプログラムを起動する (そして後でシャットダウンする) 方法はありますか? それともカスタム ランナーを作成する必要がありますか?
編集:テストランナーはpy.test
python - pytestでは、テストが失敗したかどうかをどのように判断できますか?(「リクエスト」より)
SeleniumとPYTESTを使用してサイトをテストしています。テストが失敗したときはいつでも(そして失敗したときだけ)、ページのスクリーンショットを撮りたいと思います。
これを行う方法はありますか?これに関しては、ドキュメントは静かです(または私はそれを見つけることができません)。私はそれが次のようなものになると思います
そしてそれはブール値か何かを返すでしょう。
これが私がやりたかったことです:
もちろん、これはファイナライザーに追加されます。できますか?pytest2.3.3の使用
ありがとう。
python - PyScripterでPy.testを実行する方法
私はpy.testの初心者です。PyScripterEditorでpy.testを実行する方法を教えてください。私は信じられない方法で試しましたが、うまくいきません。
pytestをインポートする
def func(x):return x + 1
def test_answer():assert func(3)== 5
pytest.main()
上記のスクリプトを実行すると、次のようなエラーが発生します
お願いします
python - py.test:子プロセスで例外を自動的に検出する方法は?
マルチプロセッシングを多用するモジュールのコンテキストで、Linux で py.test を実行しています。子プロセスの例外はエラーとして検出されません。テストファイルの例pytest_mp_test.py
:
実行:
エラーは検出されませんでした。で呼び出されると、例外が出力されます-s
。
テストログを手動で確認すると、問題があることに気づきます。ただし、py.test を使用して子の例外検出を自動化するきちんとした方法があるかどうか疑問に思っています。
親で子の終了コードを確認する必要がありますか? これが唯一の方法ですか?
python - py.testの使用中に一部のテストがスキップされた理由を表示するにはどうすればよいですか?
特定の条件でテストをスキップするためにskipIf()
fromを使用しています。unittest
py.test
スキップ条件を表示するにはどうすればよいですか?
unittestの場合、冗長モード(-v
)を有効にする必要があることはわかっていますが、py.testに同じパラメーターを追加しても、スキップの理由が表示されないため、冗長性が向上します。
python - pytestでは、テストに渡されたパラメータにどのようにアクセスできますか?
pytest では、パラメーターをテストに渡すことができます (フィクスチャまたはデコレータを使用@pytest.fixture(params=list-of-params)
)。
テストが完了すると、テストが失敗した場合、渡されたパラメーターが結果に表示されTestCheckoutPage.test_address_edit[True]
ますFalse
。
これらのパラメーターにアクセスしてファイナライザーに追加するにはどうすればよいですか? request.param
フィクスチャを作成するときにパラメータを取得する方法ですが、機能していないようです:
それはうまくいきます。しかし、それをテストに渡そうとすると:
次に、 autouse フィクスチャを使用して情報を収集します。
にないというエラーがスローparam
されFixtureRequest
ます。
そのパラメータを元に戻す方法はありますか? テストが失敗したときにSeleniumにスクリーンショットを撮らせようとしていますが、パラメーターを使用したテストは名前とクラス名とすべてが同じであるため、最初の実行用にファイルを書き込み、2回目、3回目、... 、時間の周り。したがって、これを回避するために、ファイル名にパラメーターを追加したいと思います。
ありがとう!
python - 異なるサブディレクトリで py.test を実行している Scons
いくつかの Python パッケージ (*) を含む大規模なリポジトリがあります。プロジェクトのルートからではなく、各サブディレクトリでpy.testを実行するようにscons を設定します。これはかなり苛立たしいことです。現在、すべてのエラーチェックが削除されたこのアクションがあります。
ファイルのように呼び出しSConstruct
ます:
そして、各SConscript
ファイルには次のものがあります。
私が得るのは、py.test のインスタンスが 1 つだけ実行されるということです。「Doing directory X」メッセージは表示されますが、py.test は実行されません。
明らかに、SConscript で環境を複製しない必要があるか、env が複製されている場合は、TEST_DIR_LIST への追加が元の環境で確実に行われるようにする必要があります。
だから、私の質問は2つあります:
- これは私がやりたいことをする賢明な方法ですか?
- もしそうなら、私は何を間違っていますか? そうでない場合は、どうすればよいですか?
(*)はい、これを変更することを検討しています。いいえ、すぐには実現しないので、上記が必要です。
pytest - 一部のテストでdjangoプラグインを無効にする方法は?
Django のテストと、Selenium を使用した Web サイトのその他のテストを実行しています。
テスト フレームワークの私の選択は素晴らしいPytestです。
Djangoをテストするために、現在pytest-djangoプラグインをインストールし、Djangoのテストを期待どおりに実行しましたが、Djangoプラグインを必要としない以前のテストに戻りました。
テストを開始すると、Django プラグインが自動的に選択されます。
ドキュメントを確認したところ、プラグインを無効化/非アクティブ化する方法が説明さ れている記事を見つけましたが、このコマンドを実行すると:
"DJANGO_SETTINGS_MODULE" が sys.path にないというエラーが表示されます。
また
次のようなコマンド:
また
私に同じエラーを投げます。Django プラグインが深くなっているように見えますか? バージョンまたは「インストールされているプラグイン」を確認しているときに呼び出されるのはなぜですか?
質問: このプラグインをアンインストールせずに一時的に無効にする方法はありますか?
python - pytest とカバレッジの組み合わせが機能しない
ここから pytest のプラグインをインストールしました: http://pypi.python.org/pypi/pytest-cov。次に、簡単なテスト コードがあります。
pytest.py:
コマンドでテストしようとしました: py.test --cov-report term --cov pytest.py
. しかし、うまくいきません。pytest.py の絶対パス全体を指定しても、収集するデータはありませんでした。しかし、私が使用する場合py.test pytest.py
、確かにそれはOKをテストしました.
この問題について非常に混乱しています。助けてくれてありがとう。