WEBMASTER

Купить диплом

 

Программирование на языке Ruby

Программирование на языке Ruby(книга Х.Фултон, Глава 16.)

Гла­ва 16. Тес­ти­рова­ние и от­ладка

Не­полад­ки в бло­ке АЕ-35. В бли­жай­шие семь­де­сят два ча­са блок мо­жет от­ка­зать.

Ар­тур Кларк, «Кос­ми­чес­кая Одис­сея 2001 го­да»

Тес­ти­рова­ние — вещь важ­ная. Все ком­пе­тен­тные прог­раммис­ты об этом зна­ют, хо­тя не всег­да этот воп­рос сто­ит для них на пер­вом мес­те.

Ко­неч­но, ис­черпы­ва­ющее тес­ти­рова­ние, как пра­вило, не­воз­можно. Прог­рамма сколь­ко-ни­будь за­мет­но­го раз­ме­ра на про­тяже­нии сво­его жиз­ненно­го цик­ла обя­затель­но пре­под­не­сет сюр­при­зы. Мак­си­мум, что мы мо­жем сде­лать, — тес­ти­ровать тща­тель­но и из­би­ратель­но, ста­ра­ясь про­верить как мож­но боль­ше.

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

В 1990 го­ду в со­об­щес­тве прог­раммис­тов ста­ла рас­простра­нять­ся «куль­ту­ра тес­ти­рова­ния». Идеи экс­тре­маль­но­го прог­рамми­рова­ния и уп­равля­емой тес­та­ми раз­ра­бот­ки на­чали ов­ла­девать ума­ми раз­ра­бот­чи­ков по все­му ми­ру.

Яв­ля­етесь ли вы твер­до­камен­ным при­вер­женцем иде­оло­гии «тес­ти­руй с са­мого на­чала», не так су­щес­твен­но. Важ­но, что лю­бой че­ловек мо­жет вос­поль­зо­вать­ся инс­тру­мен­та­ми, ко­торые поз­во­ля­ют ав­то­мати­зиро­вать тес­ти­рова­ние, уп­ростив на­писа­ние и про­гон тес­тов.

Та­кие инс­тру­мен­ты, как Test::Unit и ZenTest, на­писать на Ruby бы­ло про­ще в си­лу ди­намич­ности и гиб­кости язы­ка. Не ме­нее лег­ко и (пос­мею ли ска­зать?) при­ят­но ими поль­зо­вать­ся. Внес из­ме­нение в прог­рамму, а по­том смот­ришь, как все тес­ты ус­пешно до­ходят до кон­ца, — по­ложи­тель­но в этом что-то есть!

По­мимо этих инс­тру­мен­тов в Ruby есть еще не­мало прог­рамм и биб­ли­отек для от­ладки, про­фили­рова­ния и ис­пы­тания раз­личных пу­тей ис­полне­ния. Эта гла­ва пос­вя­щена об­зо­ру име­ющих­ся средств.

16.1. Биб­ли­оте­ка Test::Unit

«Стан­дар­тный» спо­соб ав­то­ном­но­го тес­ти­рова­ния ком­по­нен­тов в Ruby — биб­ли­оте­ка Test::Unit На­тани­эля Тэл­бо­та (Nathaniel Talbott). Она бы­ла вклю­чена в дис­три­бутив Ruby еще в 2001 го­ду.

В этой биб­ли­оте­ке для ана­лиза тес­то­вого ко­да при­меня­ет­ся от­ра­жение. Ког­да вы соз­да­ете под­класс клас­са Test::Unit::TestCase, все ме­тоды, име­на ко­торых на­чина­ют­ся с test, счи­та­ют­ся тес­то­выми.
Читать далее

БЕСПЛАТНО!
Получить бонус