私のテストのリストを得るためにpytest --collect-only
を実行すると、<Function: test_whatever>
のような形式で取得されます。しかし、pytest -k ...
を使用して特定のテストを実行する場合は、テストの「アドレス」をfoo::test_whatever
の形式で入力する必要があります。 -k
と同じ形式ですべてのテストのすべてのアドレスのリストを取得することは可能ですか?Pytest:すべてのテストのアドレスを取得する
答えて
conftest.pyでは、あなたが収集したテスト「アイテム」についての情報を印刷する「コレクション」のフックをオーバーライドすることができます
をあなたが導入することができる:あなたの例のために(すべてのDEFSはfoo::
が付けていると仮定。 (--collectのみのような)独自のコマンドラインオプションこのオプションを指定した場合、テスト(あなたが好きな方のように)の項目と出口を印刷
以下のサンプルconftest.py(ローカルテスト):。。
import pytest
def pytest_addoption(parser):
parser.addoption("--my_test_dump", action="store", default=None,
help="Print test items in my custom format")
def pytest_collection_finish(session):
if session.config.option.my_test_dump is not None:
for item in session.items:
print('{}::{}'.format(item.fspath, item.name))
pytest.exit('Done!')
pytestフックの詳細については
、以下を参照してください
http://doc.pytest.org/en/latest/_modules/_pytest/hookspec.html
'pytest_collection_finish'は' pytest_collectreport'とどうやって比較されますか?後者は[公式プラグインのドキュメント](http://doc.pytest.org/en/latest/writing_plugins.html)にリストされていますが、前者はそうではありません。我々はどちらか一方を好むべきか、または機能は根本的に異なっているのでしょうか? – ravron
使用方法は指定したとおりではありません。ドキュメントから: http://doc.pytest.org/en/latest/usage.html
pytest -k stringexpr # only run tests with names that match the
# "string expression", e.g. "MyClass and not method"
# will select TestMyClass.test_something
# but not TestMyClass.test_method_simple
ので、あなたが「-k」に合格するために必要なもの(あなたはこれらの文字列間の論理演算子を使用することができます)確認したいすべての呼び出し可能な関数に含まれる文字列です。
pytest -k "foo::"
- 1. pytestフィクスチャパラメータの値を取得
- 2. ANDROIDネットワーク上のすべてのIPアドレスを取得
- 3. ルータに接続されているすべてのMACアドレスとそのIPアドレスのリストを取得する
- 4. pytestによるクラスメソッドのテスト
- 5. このコンテンツのすべてのipv4アドレスを取得する方法
- 6. テスト接続を使用中にIPアドレスを取得する
- 7. 模擬テスト/ pytest-mockを使ったPytest
- 8. iphoneアドレス帳のすべての連絡先の自宅のアドレスを取得する方法
- 9. テストでpytestの場所のメモリ制限を得るには?
- 10. pytestのテスト間の間隔
- 11. pytestでaiohttpとmongoをテストする
- 12. pytestでYAML configパーサをテストする
- 13. フォルダ内のすべてのpytestテストのpythonicリストを取得するにはどうすればよいですか?
- 14. pytestとyieldベースのテスト
- 15. WebSocket接続のPytestテスト
- 16. pytestを使って実行するテストを制御する
- 17. pytestを使って各テストにテスト固有のパラメータを追加する方法
- 18. リモートホストのMACアドレスを取得する
- 19. サーバマシンのIPアドレスを取得する
- 20. rvalueのアドレスを取得する
- 21. ECSコンテナのIPアドレスを取得する
- 22. 私のWiFiアドレスを取得するAndroid
- 23. ポインタのアドレスを取得する
- 24. エミュレータのシステムIPアドレスを取得する
- 25. 私のIPアドレスを取得する
- 26. Android - ホットスポットホストのIPアドレスを取得する
- 27. C++サブストリングのアドレスを取得する
- 28. テストでPYTEST-HTMLレポートが失敗する
- 29. すべてのニュースとすべてのコメントを取得する
- 30. IPアドレスの取得
は、なぜあなたは、おそらくそれが必要なのでしょうか? '--collect-only'があなたに与えるすべてのテストを実行するには、パラメータなしで' pytest'を実行するだけで十分です。そして、テストのセットが変更された場合、あなたのリストはそれがどんなフォーマットであっても古くなります。 –