М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения


Глава 11 • Тестирование Таблица 11.1



Pdf көрінісі
бет168/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   164   165   166   167   168   169   170   171   ...   334
Байланысты:
Изучаем Python

230
Глава 11 • Тестирование
Таблица 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(self.question)

def store_response(self, new_response):
"""Сохраняет один ответ на опрос."""
self.responses.append(new_response)

def show_results(self):
"""Выводит все полученные ответы."""
print("Survey results:")
for response in self.responses:
print(f"- {response}")
Класс начинается с вопроса, который вы предоставили 

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

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

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

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


Тестирование класса
231
Чтобы продемонстрировать, что класс 
AnonymousSurvey
работает, напишем про-
грамму, которая использует этот класс:


Достарыңызбен бөлісу:
1   ...   164   165   166   167   168   169   170   171   ...   334




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

    Басты бет