Книга «Изучаем Python»



Pdf көрінісі
бет133/266
Дата03.03.2023
өлшемі7,86 Mb.
#170986
түріКнига
1   ...   129   130   131   132   133   134   135   136   ...   266
Байланысты:
Изучаем Python. Программирование игр, визуализация данных, веб-приложения ( PDFDrive )

217
от 
unittest.TestCase
; рассмотрим пример использования такого метода в контексте 
тестирования реального класса.
Таблица 11.1.
Методы assert, предоставляемые модулем unittest
Метод
Использование
assertEqual(a, b)
Проверяет, что a == b
assertNotEqual(a, b)
Проверяет, что a != b
assertTrue(x)
Проверяет, что значение x истинно
assertFalse(x)
Проверяет, что значение x ложно
assertIn(элемент, список)
Проверяет, что элемент входит в список
assertNotIn(элемент, список)
Проверяет, что элемент не входит в список
Класс для тестирования
Тестирование класса имеет много общего с тестированием функции — значитель-
ная часть работы направлена на тестирование поведения методов класса. Впрочем, 
существуют и различия, поэтому мы напишем отдельный класс для тестирования. 
Возьмем класс для управления проведением анонимных опросов:
survey.py
class AnonymousSurvey():
"""Сбор анонимных ответов на опросы."""
 
def __init__(self, question):
"""Сохраняет вопрос и готовится к сохранению ответов."""
self.question = question
self.responses = []
 
def show_question(self):
"""Выводит вопрос."""
print(question)
 
def store_response(self, new_response):
"""Сохраняет один ответ на опрос."""
self.responses.append(new_response)
 
def show_results(self):
"""Выводит все полученные ответы."""
print("Survey results:")
for response in responses:
print('- ' + response)
Класс начинается с вопроса, предоставленного администратором 

, и включает 
пустой список для хранения ответов. Класс содержит методы для вывода во-
проса 

, добавления нового ответа в список ответов 

и вывода всех ответов, 
хранящихся в списке 

. Чтобы создать экземпляр на основе этого класса, не-
обходимо предоставить вопрос. После того как будет создан экземпляр, пред-
ставляющий конкретный опрос, программа выводит вопрос методом 
show_


218

Достарыңызбен бөлісу:
1   ...   129   130   131   132   133   134   135   136   ...   266




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет