Ниже приведен порядок настройки программы. У меня есть пользовательский интерфейс, который (естественно) ждет ввода пользователя.Python Unittest запускает основную функцию
root = Tk()
root.title("This space intentionally left blank")
mainFrame = Frame(root)
mainFrame.grid(column=1, row=2)
sideFrame=Frame(root)
sideFrame.grid(column=2, row=2)
topLabelFrame=Frame(root)
topLabelFrame.grid(column=1, row=1, columnspan=99)
main()
root.mainloop()
Это мой блок тест:
from unittest import TestCase
from AL2.AutoLinker2_0 import InputProcessor
class TestInputProcessor(TestCase):
def test_tokenize(self):
IP = InputProcessor("")
self.assertEqual(IP.tokenize("elbow mac"), ["elbow", "mac"])
Когда я бегу, мой UI всплывает и вешает модульных тестов, пока я не закрою интерфейс. Я новичок в модульном тестировании, но я понимаю, что единичный тест должен тестировать только класс и не нужно запускать всю программу. Разве это я не понимаю, или это может быть проблема с IDE (pycharm), или моя программа настроена неправильно? Спасибо!
Если у вас нет кода в формате модуля и вы импортируете его в тестовом модуле, она будет работать код GUI. Убедитесь, что вы используете if __name__ == "__main__" условный – Tanner
Tanner, я бы хотел, чтобы вы опубликовали это как ответ, чтобы я мог его принять. – boristhescot