То, что я хотел бы сделать, - это создать папку, в которую люди могут поместить файл для тестирования, и сделать так, чтобы pyunit автоматически расширялся, чтобы запустить тест как отдельный тест. В настоящее время я занимаюсь:
class TestName(unittest.testcase):
def setUp(self):
for file in os.listdir(DIRECTORY):
# Setup Tests
def test_comparison(self):
for file in os.listdir(DIRECTORY):
# Run the tests
def suite():
return unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(TestName),
])
if __name__ == "__main__":
unittest.TextTestRunner(verbosity=2).run(suite())
Очевидно, что с этим связано много проблем, например, если какой-либо тест не пройден, все не выполнено и т. Д. И т. Д. Я хотел бы настроить pyunit так, чтобы он выполнял тест (или тестовый пример) ), для каждого файла, который находится в каталоге. Теперь, я думаю, я мог бы создать перечисленный выше класс, используя только два метода, но для того, чтобы сделать это успешно, мне нужно было бы добавить параметр контекста, например:
def setUp(self, filepath):
# Do stuff
Тогда я мог бы поместить цикл в основной кусок кода и запустить тесты следующим образом:
def suite():
return unittest.TestSuite([
unittest.TestLoader().loadTestsFromTestCase(TestName, file),
])
if __name__ == "__main__":
for file in DIRECTORY:
unittest.TextTestRunner(verbosity=2).run(suite(file))
Но я не уверен, как это сделать, почти не переписывая класс дырки unittest.TestCase (). Есть ли способ, которым я мог бы сделать это, или есть ли другой способ, которым я могу получить динамическое расширение набора тестов / тестовых случаев в зависимости от того, сколько файлов находится в папке? Благодаря.