pythonのTestでテストケースの動的追加
チェック処理は同じでデータが違うときなどにいちいちtest_aaa、test_bbbと定義するのがめんどくさい時に以下のようにすると楽になる話。
from unittest import TestCase import requests class Test(TestCase): pass for user_id in xrange(1, 10): def wrapper(user_id): def f(self): response = requests.get('/users/{}'.format(user_id)) self.assertEqual(response.status_code, 200) return f setattr(Test, 'test_user_{}'.format(user_id), wrapper(user_id))