Python用のvscodeの設定方法(テスト,カバレッジ,プロファイリング)
1 . Python拡張モジュールのインストール
入手可能here または
python
拡張セクションで.プロジェクトの整理
まず最初に新しい仮想環境を使うべきです.
使用
virtualenv
コマンドラインツールを使用することができますvirtualenv -p3.9 .venv3.9
新しいPython 3.9環境を定義します.vscodeはこの環境に切り替えたいかどうかをプロンプトを表示します.「はい」を選択します.プロジェクト自体は次のような構造を使用します.
project_directory
+-- my_module
| +-- __init__.py
| +-- __main__.py
| +-- script.py
+-- tests
+-- __init__.py
+-- test_script.py
コードの実行
プロジェクト構造が使用するように
__init__.py
ファイルをモジュールとして実行する必要があります.python -m my_module
. VSCodeデバッグ構成をこのモジュールベースの方法に適応することもできます.「実行設定」タブで「設定を追加」をクリックすると、次のような構造体を追加または編集できます.
"configurations": [
{
"name": "My Python Module",
"type": "python",
"request": "launch",
"module": "my_module"
}
]
テスト
私は、vscodeでテストするためにpytestを使います.Python拡張モジュールのテストを構成し、PyTestを選択し、命名規則を使用するようにPyTestを設定するようにしてください.たとえば、あなたのテストファイルを何かのように呼ぶなら
test_script.py
ここでscript
あなたがテストしているものを示しますtest_*.py
.4.1テストの定義
私は以下の構造を使います
import unittest
from my_module.script import add_func
class TestScript(unittest.TestCase):
def test_add(self):
result = add_func(1,2)
self.assertEqual(result, 3)
4.2実行中のテスト
端末からテストを実行するには
pytest
.別の方法として、Vscode拡張モジュールのアイコンを使用し、対応するサイドバータブの[実行]シンボルをクリックしてすべてのテストを実行できます.
4.3テスト報道
pytest --cov=main_module --cov-report=xml tests
--cov=main_module
のカバレッジを有効にするmain_module
--cov-report=xml
カバレッジを生成します.XMLファイルvscode拡張モジュールで使用するcoverage gutters .
プロファイリング
私は以下を使用します
__main__.py
:import cProfile
from pstats import Stats, SortKey
from my_module.script import add_func
def run_script():
print(add_func(2,1))
if __name__ == '__main__':
do_profiling = True
if do_profiling:
with cProfile.Profile() as pr:
run_script()
with open('profiling_stats.txt', 'w') as stream:
stats = Stats(pr, stream=stream)
stats.strip_dirs()
stats.sort_stats('time')
stats.dump_stats('.prof_stats')
stats.print_stats()
else:
start_game()
その後、ツールを使用することができますSnakeViz 実行してブラウザで結果を視覚化するにはsnakeviz program.prof
.他の便利な拡張
todo tree きちんとした木構造であなたのTodosを組織してください、todoキーワードはカスタマイズされることができます
Reference
この問題について(Python用のvscodeの設定方法(テスト,カバレッジ,プロファイリング)), 我々は、より多くの情報をここで見つけました https://dev.to/yamakanto/how-i-set-up-vscode-for-python-tests-coverage-profiling-2jf4テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol