可能性の重複:
How to generate dynamic (parametrized) unit tests in python?Pythonのunittestのと動的に作成
動的unittest
テストケースを作成する方法はありますか?私は( "0テストを実施しました(彼らはdir()
に表示し、呼び出し可能です)正しくすべてのメソッドを作成しますが、のunittestのテスト検出器、またnosetest
がそれらを実行..which ..
class test_filenames(unittest.TestCase):
def setUp(self):
for category, testcases in files.items():
for testindex, curtest in enumerate(testcases):
def thetest():
parser = FileParser(curtest['input'])
theep = parser.parse()
self.assertEquals(theep.episodenumber, curtest['episodenumber'])
setattr(self, 'test_%s_%02d' % (category, testindex), thetest)
を次のことを試してみました。.. 。でepisodenumber
に簡略化されたデータを(
を私はテストデータ、入力ファイル名のリストを含むファイルを持っている、と予想される: - ")私は間違った質問をすることができるので
私が達成しようとしていますどのような上記のコード)、Python辞書に格納されています。キーは、各テストにself.assertEquals
を呼び出して、すべてのデータの上に..
test_cases = {}
test_cases['example_1'] = [
{'input': 'test.01',
'episodenumber': 1},
{'input': 'test.02',
'episodenumber': 2}
]
test_cases['example_2'] = [
{'input': 'another.123',
'episodenumber': 123},
{'input': 'test.e42',
'episodenumber': 32}
]
現在、私はちょうどループたとえば、値がテストケースの一覧で、カテゴリです。問題は、いずれかが失敗した場合、残りの失敗が1つのテストにグループ分けされるため、残りの部分が表示されず、アサーションが失敗したときに中止されます。
私は、各テストケースごとに(動的に)関数を作成することを考えましたが、おそらくもっと良い方法がありますか?
pytest(http://pytest.org/は)あまりにも発電機ベースのテストをサポートしています。 –
+1参考リンク---この質問や他の質問に関する同様の回答のリンクにはそのリンクがありませんでした。 –