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



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

216
Глава 11 • Тестирование
сработает и для имен с тремя компонентам — такими, как 
Wolfgang
Amadeus
Mozart
.
УПРАЖНЕНИЯ
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 5000000 .» Снова запустите программу 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
или что значения входят или не входят в за-
данный список. Эти методы могут использоваться только в классах, наследующих 


Тестирование класса


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




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

    Басты бет