[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