[Moscow.pm] Globus task manager

Ruslan Zakirov ruslan.zakirov на gmail.com
Ср Янв 21 09:59:06 PST 2009


Я последнее время пришел к таким тестам:

diag "testing X with Y without Z" if $ENV{TEST_VERBOSE};
{
    ...
}

И много таких блоков. Каждый из которых можно отключить в любой момент
закомментировав и все будет работать, только количество тестов уедет в
сторону, но с этим можно тестировать каждый блок отдельно, что
значительно ускоряет процесс.

Можно в теории разнести это все по различным файлам, но тогда много
файлов с длинными или непонятными именами.

Недостаток: так как каждый кусок должен быть независим, то приходиться
делать его таким, то есть для примера в каждом блоке создавать запись,
а потом ее удалять.

Это очень важно так как тесты нужно потом расширять как и программы, а
ты вставил строчку в середину и весь тест развалился. И никто вспомнит
какие там данные в БД на данный момент.

Вот большой пример:
http://svn.bestpractical.com/cgi-bin/index.cgi/bps/view/rtir/2.4/trunk/t/013-custom-field-ip.t

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

Для поиска и сортировок что-то похожее, но вот так:

@data = (
    { Subject => 'Nobody' },
    { Subject => 'Z', Owner => $uids[0] },
    { Subject => 'A', Owner => $uids[1] },
);
@tickets = add_tix_from_data();
@test = (
    { Order => "Owner" },
);
run_tests();

полный пример:

http://svn.bestpractical.com/cgi-bin/index.cgi/bps/view/rt/3.8/trunk/t/ticket/search_by_watcher.t

Это не пожелания, а рекомендации основанные на опыте с примерами.

2009/1/21 Dmitry Simonov <dsimonov на gmail.com>:
> Я засяду за тесты. У кого какие по ним пожелания?
> --
> Moscow.pm mailing list
> moscow-pm на pm.org | http://moscow.pm.org
>
>



-- 
Best regards, Ruslan.


Подробная информация о списке рассылки Moscow-pm