複数の Python テストケースをループで実行するにはどうすればよいですか? 質問する

複数の Python テストケースをループで実行するにはどうすればよいですか? 質問する

私は Python 初心者ですが、Ruby でよく行うことをやろうとしています。つまり、インデックスのセットを反復処理し、それらを関数の引数として使用し、その結果をフィクスチャ出力の配列と比較します。

そこで、いつものように Ruby で書いてみたのですが、テスト ケースは 1 つだけになりました。

  def test_output(self):
    for i in range(1,11):
      ....
      self.assertEqual(fn(i),output[i])

範囲内のあらゆるアイテムのテストを取得しようとしています。どうすればいいでしょうか?

ベストアンサー1

Python 3.4 以降では、次のように実行できます。

def test_output(self):
    for i in range(1,11):
        with self.subTest(i=i):
            ....
            self.assertEqual(fn(i),output[i])

https://docs.python.org/3.4/library/unittest.html?highlight=subtest#subtest の区別

おすすめ記事