Использование python unittest для тестирования нескольких файлов - PullRequest
0 голосов
/ 24 марта 2020

Я пытаюсь написать сценарий тестирования в python для проверки нескольких файлов, содержащих одинаковые функции (назначения кодирования). В настоящее время у меня есть один сценарий тестирования, который импортирует файл, предназначенный для тестирования, и выполняет несколько тестов, используя класс, который наследуется от unittest.TestCase:

from file_to_test import *

class Testing(unittest.TestCase):

               <tests...>

Мне было интересно, есть ли способ написать другой код, который перебирает все файлы, которые должны быть протестированы, что позволяет нам тестировать их все за один прогон. это можно как-то сделать? Я думал о записи всех выходных данных в файл, а затем с использованием diff, но мне интересно, есть ли другое решение.

спасибо большое!

1 Ответ

0 голосов
/ 29 марта 2020

это сработало для меня:

test_import_format = "import {} as tested_script\n"
for file in os.listdir(DIR_PATH):
    if file.endswith(".py") and not file.endswith(
            "test_name.py") and not file.endswith("THIS_FILE.py"):
        cur_test_import = test_import_format.format(
            ntpath.basename(file).split(".")[0])
        with open("test_name.py", 'r') as test, open("temp.py", 'w') as temp:
            for i, line in enumerate(test):
                if i == 0:
                    temp.write(cur_test_import)
                else:
                    temp.write(line)
        subprocess.call([sys.executable, "temp.py"])
        os.remove(r"DIR_PATH/temp.py")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...