Как проверить код, зависящий от других событий и графических интерфейсов? - PullRequest
0 голосов
/ 07 апреля 2019

Я создаю графический интерфейс с использованием Tkinter и допустил ошибку, не создавая тесты перед написанием кода.Я новичок как в создании, так и в тестировании графического интерфейса, и я довольно озадачен тем, как двигаться дальше.

Есть ли не такой сложный способ тестирования графического интерфейса, кроме ручного тестирования?

Как мне тестировать методы, которые зависят от других методов / взаимодействия с пользователем?

Я думал, что модульные тесты - это путь вперед, но, глядя на учебники, они показывают тесты для такого метода, как:

sum(x, y)

Что имеет смысл, поскольку x и y могут быть назначены и сделано утверждение.Но что, если у меня нет здесь параметров, которые можно легко назначить?

Один из методов, который я имею, - позволить пользователю загрузить файл CSV из каталога:

    def csv_open(self):
        csv_file = tk.filedialog.askopenfilename()
        if not csv_file:
            return  # user cancelled

        if os.path.splitext(csv_file)[1] != ".csv":
            self.notify("You Must Select a CSV File", True)
            return

        self.csv_label.config(text=os.path.basename(csv_file))
        self.notify("CSV File Loaded")

Как бы я написалМодульный тест для этого, или я должен использовать другую форму тестирования?

Я только что написал "непроверяемый" код?

...