問題タブ [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 - すべてのテストでセットアップを 1 回呼び出し、すべてのテストが終了したらティアダウンを呼び出す方法
私はpytestを使って書かれたたくさんのテストを持っています。ディレクトリの下にすべてありますdir
。例えば:
それらのコードの簡略化されたバージョンは次のとおりです。
test_base.py
test_something.py
test_something2.py
私のすべてのtest_something*.py
ファイルは、 の基本クラスを拡張しますtest_base.py
。今、私はsetup_module(module)
とteardown_module(module)
メソッドを に書きましたtest_base.py
。setup_module はすべてのテストでteardown_module()
1 回呼び出され、すべてのテストが終了したら最後に呼び出されることを期待していました。
しかし、関数が呼び出されていないようですか? これを機能させるにはデコレータが必要ですか?
python - Py.test - セッションベースのセットアップ
私はpy.testの周りに素敵なベースを構築しようとしています
一部のテストでは、機能するために特定のテスト データが必要です。
現在、関数の引数としてモック オブジェクトを指定し、ジェネレーターでセットアップを行うだけですが、これは明らかに望ましくありません。
以下は、今日の外観の例です。
私はこのようなことをしたいと思います:
私はこれを適切に行う方法を理解していませんが。
すべてのテストクラスでセットアップ/破棄するのではなく、セッション全体でデータを永続化したいため、クラスセットアップを使用できません。
私の最初のアイデアは、まだ funcarg を使用することでしたが、テストに funcarg を持たせる代わりに、デコレータに関数の funcarg を要求させ、基本的に醜さを隠しました。
これに関する問題は、funcarg を要求するために py.test オブジェクトが必要なことです。
そのようなオブジェクトを取得する方法はありますか、それともこれは間違ったアプローチですか?
収集されたテストのいずれもデータを必要としない場合、データをロードする必要がない場合は素晴らしいボーナスになります。これは、テストが実行されるかどうかに関係なく常に実行されるため、デコレータを使用することの欠点です。
java - JUnit スタイルの XML テスト出力を HTML にレンダリングする
たとえば、次のように、JUnit スタイルの XML 出力を生成できるテスト フレームワーク ( py.test ) を使用して、非 Java 言語 (Python) でいくつかのユニット/統合テストを行っています。
これらの結果を人間が読める HTML ファイルにレンダリングしたいと思います。それを行うためのツールはありますか?
python - `py.test` および `__init__.py` ファイル
ファイルを「そのまま」扱い、周囲のファイルに関係なく、これらのファイルで指定されたモジュールのみをインポートpy.test
するという意味で「スタンドアロン」だと思いました。test_*.py
私が間違っているようです。これが私のダイアログpy.test
です:
どうすれば機能しpy.test
、__init__.py
ファイルを保持できますか?
アップデート
Holger Krekel さんはコメントで、親ディレクトリの名前は?と尋ねました。そして、特定の親ディレクトリ名 (たとえば、インストールされているパッケージの 1 つと同じ名前) しか持たない上記のエラーを再現できることがわかりましたdistutils
。ここを参照してください:
この追加情報がお役に立てば幸いです。
python - 異なるバージョンの python に対して py.test を実行するには?
py.test
プラグインなしで異なるバージョンの python で実行することは可能ですxdist
かtox
?
python - pytest: ほぼ等しいと主張する
assert almost equal
次のような手段に頼らずにフロートの py.test を使用する方法:
より具体的には、float のペアをアンパックせずにすばやく比較するための適切なソリューションを知っておくと役立ちます。
python - py.test の実行が成功した後のモジュール 'threading' の KeyError
py.test で一連のテストを実行しています。彼らは合格します。イッピー!しかし、私はこのメッセージを受け取っています:
そのソースを追跡するにはどうすればよいですか?(私はスレッドを直接使用していませんが、gevent を使用しています。)
python - Python で単体テストをパラメータ化する
現在、テスト フレームワークに組み込まれている python を使用して構築されている一連の python 単体テストに取り組んでいます。与えられたデータセットに基づいて複数回実行されるパラメータ化されたテストを書きたいと思います。
すなわち。データ セットが [1,2,3,4] の場合、テスト関数はデータ セットの入力を使用して 4 回実行されます。
私の理解では、テスト関数にループを入れない限り、これは現在組み込みのフレームワークでは不可能です。1 つの入力が失敗してもテストを実行し続ける必要があるため、これは実行したくありません。
私は、nose または pyTest を使用して実行できることを見てきました。使用するのに最適なフレームワークはどれですか? これらのいずれよりも優れた、使用できる別のフレームワークはありますか?
前もって感謝します!
python - junitxmlを使用してpytestでデータ結果を収集する方法は?
次のコード(conftest.py)を使用してみましょう:
実行中のpy.test --junitxml=result.xml conftest.py
生成result.xml
(テストに合格した場合):
今。私ができるようにしたいのは、で生成された値をに格納することtest_val()
ですresults.xml
。それを行う方法はありますか?pytestdocに関連するものが見つからないようです。
python - py.testを実行するときの.coveragercファイルの場所
pytestを実行してcoveragercファイルで動作させようとしています。.coveragercファイルの設定は使用されていないので、ファイルはまったく使用されていないと思います。
以下の私のプロジェクト構造とpytest呼び出しを参照してください!私は何が間違っているのですか?
計画:
virtualenvからtest/run.pyを呼び出します
run.py
.coveragercを別のディレクトリ(lib /、test /、test / test_lib /など)に移動しようとしましたが、いずれも機能しませんでした。
.coveragercに設定されている「xxxcoverage」という名前のカバレッジファイルを取得することを期待していましたが、常にデフォルトの.coverageを取得しました
.coveragerc