Как проверить тестом unittest, дает ли функция непустой ответ GUI-приложения?
С помощью библиотеки tkinter написал функцию, которая в ответ на любой вопрос пользователя, случайным образом достает из списка возможных ответов любой из них и показывает пользователю. Вот код функции:
RESPONSES = ['Да', 'Нет']
# Функция возврата случайных ответов
def answerQuery(self):
time.sleep(2)
self.text_box_answer.insert(tk.END, 'Хмм...' + '\n') # и выводим в виджет text_box_answer
self.main.update_idletasks()
time.sleep(2)
self.text_box_answer.insert(tk.END, 'Я заглядываю за повороты судьбы, чтобы узнать о грядущем' + '\n')
self.main.update_idletasks()
self.main.after(2000, lambda: self.text_box_answer.insert(tk.END, random.choice(RESPONSES) + '\n'))
Тестом пытают проверить, что функция дает непустой ответ. Код написал, но понимаю, что он неверный. А как правильно?
import unittest
class TKinterTestCase(unittest.TestCase):
def setUp(self):
self.questionsAnswers = QuestionsAnswers()
def test_answerQuery(self):
self.assertEqual(self.questionsAnswers.answerQuery(), len(self.questionsAnswers.answerQuery())!=0)
if __name__ == '__main__':
unittest.main()