Экстремальное программирование. Разработка через тестирование



Download 1,35 Mb.
Pdf ko'rish
bet65/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   61   62   63   64   65   66   67   68   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

TestCaseTest
def setUp(self):
self.result = TestResult()
def testTemplateMethod(self):
test = WasRun("testMethod")
test.run(self.result)
assert("setUp testMethod tearDown " == test.log)
def testResult(self):
test = WasRun("testMethod")
test.run(self.result)
assert("1 run, 0 failed" == self.result.summary())
def testFailedResult(self):
test = WasRun("testBrokenMethod")
test.run(self.result)
assert("1 run, 1 failed" == self.result.summary())
def testFailedResultFormatting(self):
self.result.testStarted()
self.result.testFailed()


assert("1 run, 1 failed" == self.result.summary())
def testSuite(self):
suite = TestSuite()
suite.add(WasRun("testMethod"))
suite.add(WasRun("testBrokenMethod"))
suite.run(self.result)
assert("2 run, 1 failed" == self.result.summary())
Вызов тестового метод а
Вызов метод а setUp перед обращением к метод у
Вызов метод а tearDown по сле обращения к метод у
Метод tearDown д олжен вызываться д аже в случае неуд ачи теста
Выполнение нескольких тестов
Отчет о результатах
Строка журнала в классе WasRun
Отчет о неуд ачных тестах
Перехват и отчет об ошибках setUp
Созд ать объект TestSuite автоматически на о снове класса TestCase
Все эти бесчисленные ссылки self выгляд ят ужасно, од нако без
этого в языке Python никак не обойтись. Если бы этот язык изначально
был объектно-ориентированным, наверное, в этих ссылках не было бы
над обно сти, а ссылки на глобальные переменные требовали бы
квалификации. 
Од нако 
язык 
Python 
изначально 
является
интерпретируемым языком с д обавленной в него под д ержкой объектов
(над о отметить, что под д ержка объектов в этом языке реализована
великолепно). В результате по умолчанию переменные считаются
глобальными, а явные ссылки на self – необход имыми.
Я о ставляю реализацию о ставшихся пунктов вам в качестве
упражнения. Над еюсь, обретенные навыки работы в стиле TDD помогут
вам.
Чтобы под вести итог, напомню, что в д анной главе мы
• написали тест д ля класса TestSuite;
• написали часть реализации, од нако не д обились успешного
выполнения тестов – это нарушение правил (я уверен, что существует
про стая под д ельная реализация, которая заставила бы тесты работать,
благод аря чему мы могли бы выполнять рефакторинг, имея перед
глазами зеленую поло ску, од нако сейчас я не хочу д умать на эту тему);
• изменили интерфейс метод а run(), благод аря чему набор тестов


можно использовать точно так же, как и отд ельный тест, – в результате
тесты наконец выполнились успешно;
• выполнили рефакторинг имеющихся тестов – переместили общий
код созд ания объекта результатов в метод setUp().



Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   61   62   63   64   65   66   67   68   ...   140




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish