バージョン3.4以降、Python supports a simple subtest syntax when writing unittests。簡単な例は次のようになります。Python unittestsで別々にカウントするサブテスト
import unittest
class NumbersTest(unittest.TestCase):
def test_successful(self):
"""A test with subtests that will all succeed."""
for i in range(0, 6):
with self.subTest(i=i):
self.assertEqual(i, i)
if __name__ == '__main__':
unittest.main()
テストを実行すると、出力は
python3 test_foo.py --verbose
test_successful (__main__.NumbersTest)
A test with subtests that will all succeed. ... ok
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
になりますしかし、私の本当の世界のユースケースでは、サブテストは、より複雑な反復可能に依存し、各サブテストごとに非常に異なるものをチェックしてください。したがって、私はむしろ、各サブテストをカウントし、完全な画像を得るために、出力(この例ではRan 6 tests in ...
)内の分離されたテストケースとして列挙します。
平凡なunittest
モジュールをPythonで使用していますか? The nose test generator featureはそれぞれのテストを個別に出力しますが、可能であれば標準ライブラリとの互換性を保ちたいと思います。