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



Download 1,35 Mb.
Pdf ko'rish
bet94/140
Sana15.04.2022
Hajmi1,35 Mb.
#555128
1   ...   90   91   92   93   94   95   96   97   ...   140
Bog'liq
Экстремальное программирование Разработка через тестирование PDFDrive

Фикстура
[20]
 (Fixture)
Как созд аются общие объекты, которые используются в нескольких
тестах? Конвертируйте локальные переменные из тестов в переменные-
члены класса TestCase. Переопред елите метод setUp() и инициализируйте
в нем эти переменные (то есть выполните созд ание всех необход имых
объектов).
Если мы привыкли уд алять д ублирование из функционального
(тестируемого) код а, д олжны ли мы уд алять его из тестирующего код а?
Может быть.
Существует проблема: зачастую вам приход ится писать больше код а
д ля того, чтобы установить объекты, используемые тестируемым
метод ом, в интересующее вас со стояние. Код , инициализирующий
объекты, часто оказывается од инаковым д ля нескольких тестов. Такие
объекты называются 
фикстурой
теста (используется также английский
термин 
scaffolding – строительные леса, подмостки
). Дублирование
под обного код а – это плохо. Вот д ве о сновные причины:
• написание под обного код а требует д ополнительного времени,
д аже если мы про сто копируем блоки текста через буфер обмена. Но
наша зад ача – д обиться того, чтобы написание тестов занимало как


можно меньше времени;
• если приход ится вручную менять интерфейс, перед нами встает
необход имо сть изменять его в нескольких разных тестах (именно этого
всегд а след ует ожид ать от д ублирования).
Од нако д ублирование код а инициализации объектов облад ает
также 
некоторыми 
преимуществами. 
Если 
код
инициализации
располагается непо сред ственно ряд ом с тестирующими выражениями
assert(), весь код теста можно прочитать от начала и д о конца. Если мы
выд елили код инициализации в отд ельный метод , нам приход ится
помнить о том, что этот метод вызывается, нам приход ится вспоминать,
как именно выгляд ят объекты, и только вспомнив все это, мы можем
написать о стальную часть теста.
Сред а xUnit под д ерживает оба стиля написания тестов. Если вы
д умаете, что читателям буд ет сложно вспомнить объекты фикстуры, вы
можете разместить код созд ания фикстуры непо сред ственно в теле
теста. Од нако вы также можете переместить этот код в метод с
названием setUp(). В этом метод е вы можете созд ать все объекты,
которые буд ут использоваться в тестовых метод ах.
Далее привод ится пример, который слишком про ст, чтобы
мотивировать выд еление общего код а фикстуры, но зато д о статочно
короток, чтобы поместиться в д анной книге. Мы можем написать:

Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   90   91   92   93   94   95   96   97   ...   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