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



Pdf көрінісі
бет114/238
Дата07.01.2022
өлшемі7,86 Mb.
#18670
түріКнига
1   ...   110   111   112   113   114   115   116   117   ...   238
Байланысты:
2 5343781172763690906

УПРАЖНЕНИЯ

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

 или что значения входят или не входят в за-

данный список. Эти методы могут использоваться только в классах, наследующих 



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

от 


unittest.TestCase

; рассмотрим пример использования такого метода в контексте 

тестирования реального класса.



Достарыңызбен бөлісу:
1   ...   110   111   112   113   114   115   116   117   ...   238




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

    Басты бет