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



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

229
УПРАЖНЕНИЯ
11.1. Город, страна:
напишите функцию, которая получает два параметра: название страны 
и название города. Функция должна возвращать одну строку в формате «Город, Страна» — 
например, «Santiago, Chile». Сохраните функцию в модуле с именем 
city_functions .py
.
Создайте файл 
test_cities .py
для тестирования только что написанной функции (не забудьте 
импортировать unittest и тестируемую функцию). Напишите метод 
test_city_country()
для проверки того, что вызов функции с такими значениями, как 
'santiago'
и 
'chile'
, дает 
правильную строку. Запустите 
test_cities .py
и убедитесь в том, что тест 
test_city_country()
проходит успешно.
11.2. Население:
измените свою функцию так, чтобы у нее был третий обязательный пара-
метр — население. В новой версии функция должна возвращать одну строку вида «Santiago, 
Chile — population 5 000 000». Снова запустите программу 
test_cities .py
. Убедитесь в том, что 
тест 
test_city_country()
на этот раз не проходит.
Измените функцию так, чтобы параметр населения стал необязательным. Снова запустите 
test_cities .py
и убедитесь в том, что тест 
test_city_country()
снова проходит успешно.
Напишите второй тест 
test_city_country_population()
, который проверяет вызов функ-
ции со значениями 
'santiago'

'chile'
и 
'population=5000000'
. Снова запустите 
test_cities .
py
и убедитесь в том, что новый тест проходит успешно.
Тестирование класса
В первой части этой главы мы писали тесты для отдельной функции. Сейчас мы 
займемся написанием тестов для класса. Классы будут использоваться во многих 
ваших программах, поэтому возможность доказать, что ваши классы работают 
правильно, будет безусловно полезной. Если тесты для класса, над которым вы 
работаете, проходят успешно, вы можете быть уверены в том, что дальнейшая 
доработка класса не приведет к случайному нарушению его текущего поведения.
Разные методы assert
Класс 
unittest.TestCase
содержит целое семейство проверочных методов 
assert

Как упоминалось ранее, эти методы проверяют, выполняется ли условие, которое 
должно выполняться в определенной точке вашего кода. Если условие истинно, 
как и предполагалось, то ваши ожидания относительно поведения части вашей 
программы подтверждаются; вы можете быть уверены в отсутствии ошибок. Если 
же условие, которое должно быть истинным, окажется ложным, то Python выдает 
исключение.
В табл. 11.1 перечислены шесть часто используемых методов 
assert
. С их помощью 
можно проверить, что возвращаемые значения равны или не равны ожидаемым, 
что значения равны 
True
или 
False
или что значения входят или не входят в задан-
ный список. Эти методы могут использоваться только в классах, наследующих от 
unittest.TestCase
; рассмотрим пример использования такого метода в контексте 
тестирования реального класса.




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




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

    Басты бет