file: test_Sieve.py import Sieve, sets import unittest 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

file: test_Sieve.py import Sieve, sets import unittest

Поиск

Модуль unittest

 

При разработке программного обеспечения рекомендуется применять так называемые регрессионные испытания.Для каждого модуля составляется набор тестов,по возможности таким образом,чтобы проверялись не только типичные вычисления,но и"крайние", вырожденные случаи, чтобы испытания затронули каждую ветку алгоритма хотя бы один раз.Тест для данного модуля(написанный сразу после того,как определен интерфейс модуля)находится в файле test_Sieve.py:

 

# file: test_Sieve.py import Sieve, sets import unittest

 

class TestSieve(unittest.TestCase):

 

def setUp(self): pass

 

def testone(self):

 

primes = Sieve.primes(1) self.assertEqual(primes, sets.Set())

 

def test100(self):

 

primes = Sieve.primes(100)

self.assert_(primes == sets.Set([2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47,

 

53, 59, 61, 67, 71, 73, 79, 83, 89, 97]))

 

if __name__ == '__main__': unittest.main()

 

Тестовый модуль состоит из определения класса,унаследованного от класса unittest.TestCase,в котором описывается подготовка к испытаниям(метод setUp)и сами испытания--методы,начинающиеся на test.В данном случае таких испытаний всего два:в первом испытывается случай N=1,а во втором--N=100.

 

Запуск тестов производится выполнением функции unittest.main().Вот как выглядят успешные испытания:

 

$ python test_Sieve.py

 

..

----------------------------------------------------------------------

 

Ran 2 tests in 0.002s OK

 

В процессе разработки перед каждым выпуском все модули прогоняются через регрессионные испытания,чтобы обнаружить,не были ли внесены ошибки.Однако

 

никакие тесты в общем случае не могут гарантировать безошибочности сложной программы.При дополнении модулей тесты также могут быть дополнены,чтобы отразить изменения в проекте.

 

Кстати,самPythonи его стандартная библиотека имеют тесты для каждого модуля-они находятся в каталоге test в месте,где развернуты файлы поставкиPython,и являются

 

частью пакета test.


 




Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 8; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.129.7.33 (0.01 с.)