この記事は、ソフトウェアテストの小ネタ Advent Calendar 2022 の5日目の記事です。

ソフトウェアテストの小ネタ Advent Calendar 2022
https://qiita.com/advent-calendar/2022/software-testing-koneta

このエントリでは、
本年に作った、テストに役立つPyCharmのプラグインを紹介したいと思います。
(紹介エントリも書いていなかったので)

Pytest Parametrize Inlay Hint | JetBrains Marketplace
https://plugins.jetbrains.com/plugin/20053-pytest-parametrize-inlay-hint

Pytestのpytest.mark.parametrizeを使って、
たくさんパラメータがあるテストを書いていると、
「Tupleの何番目の値がどのパラメータに対応しているのか」
を確認しつつ編集する必要があり、ちょっと手間だったので、
InlayHintを表示するプラグインを作ってみました。

できること

「Pytest Parametrize Inlay Hint」で出来ることは、
次のスクリーンショットを見ての通り、
パラメータ名をInlayHintで表示することです。
パラメータ名に加えて、テストの順序番号も表示します。

pytest-parametrize-inlay-hint-1

このスクリーンショットの例では、
パラメータ名・順序番号が表示されても、あまり嬉しくないのですが。
パラメータやテストパターンが多い場合に、
「Tupleの何番目の値がどのパラメータに対応しているのか」
「失敗したテストがどのパターンなのか」
がわかりやすくなります。

インストールと設定方法

インストール方法は、一般的なPyCharmのプラグインと同じく、
File -> Settings -> Plugins と進んで、
「Pytest Parametrize Inlay Hint」を検索して、Installボタンからインストールします。

pytest-parametrize-inlay-hint-2

パラメータ名・テスト順序番号のInlayHintの表示非表示を切り替えたい場合は、
File -> Settings -> Editor -> Inlay Hints と進んで、
「pytest parametrized name hints」「pytest parametrized order hints」のチェックを操作します。

pytest-parametrize-inlay-hint-3