対象の読者 普段Pythonをお使いの方。 特に単体テストコードを書く機会がある方。 Python標準のUnitTestフレームワークを使う機会のある方。 概要 単体テストをする際、1つのテストケースの中で、パラメータを変えて複数回対象をAssertすることがあります。 普通に実装すると、1パターン失敗した時点で、残りのパターンがテストされず、テストは終了してしまいます。 Subtestを用いると、途中で失敗するパターンがあっても、テストを最後まで実行し、成否をパターン毎に個別に出力してくれるようになります。 前提条件 この記事の内容はPython 3.5系で検証したものです。 それ以前のバージョンだと想定通り動かないかもしれません。 テスト対象例 あるメソッドやクラスのテストをする場合、大抵の場合、テスト対象が取りうる入力、状態ないし結果を網羅するように、パラメータを変えてテストをするか
![Python の 単体テストで 大量の入力パターンを効率よくテストする方法 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/1922e827f3cb9c464f84a88f00fc5811d1cd6e77/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHl0aG9uJTIwJUUzJTgxJUFFJTIwJUU1JThEJTk4JUU0JUJEJTkzJUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgxJUE3JTIwJUU1JUE0JUE3JUU5JTg3JThGJUUzJTgxJUFFJUU1JTg1JUE1JUU1JThBJTlCJUUzJTgzJTkxJUUzJTgyJUJGJUUzJTgzJUJDJUUzJTgzJUIzJUUzJTgyJTkyJUU1JThBJUI5JUU3JThFJTg3JUUzJTgyJTg4JUUzJTgxJThGJUUzJTgzJTg2JUUzJTgyJUI5JUUzJTgzJTg4JUUzJTgxJTk5JUUzJTgyJThCJUU2JTk2JUI5JUU2JUIzJTk1JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmcz1hNDcxMTI1ZWEyM2M4YjFjZTAyOGU5M2NiNjk3MzI5OA%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDBBc2F5dTEyMyZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZGM1YjhkYzEzMDFlZGJjNjg5Y2ZkZjMzMTU5ZDYzMzE%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Df4fb14a99e118431897c0adba5cfd843)