Итак, я пытаюсь создать unittest.TestCase, который создает несколько разных баз данных с различными типами членов и проверяет что-то о данных (не важно для этого контекста).Я хотел использовать генератор для передачи необходимой информации из глобального dict в функцию, которая позаботится о создании и проверке объекта.
В настоящее время он только устанавливает, запускает и разрывает первый вариант теста.Как я могу сгенерировать несколько различных (то есть изменяющихся параметров из структуры данных, таких как dict) вызовов моего метода, который должен определить, как заполнить базу данных на основе типа члена?Каждый вызов должен выполняться как отдельный тест и каждый раз выполнять setUp и tearDown.Тестовый пример запускается с PyUnit в графическом интерфейсе Pydev.
import sys, os, socket, shutil, unittest
# Global counter for test generation
testRun = 1
# test dictionary for generating multiple tests
basicMembers = {"Int" : 1}
# test operations to generate federations
def addItemAndGetSizeOf(basicMember, expectedValue, testFileName):
print "foo %s %s %s" % (basicMember, expectedValue, testFileName)
class BasicMembers(unittest.TestCase):
testFileName = "bar" + str(testRun)
def setUp(self):
global testRun
testRun += 1
print testRun
def tearDown(self):
pass
def testBasicMembers(self):
for basicMember, expectedValue in basicMembers.items():
yield addItemAndGetSizeOf, basicMember, expectedValue, self.testFileName
if __name__ == "__main__":
#import sys;sys.argv = ['', 'Test.testName']
unittest.main()