Приветствую! Прошу прощения за кривой сабж.
2017-01-10 0:41 GMT+02:00 Konstantin S. Uvarin <[email protected]>: > Приветствую! > > На Новый год Дед мороз подарил мне большую коробку кодинга, так что я > запилил ещё один модуль, о котором давно мечтал. Суть такова: > > # ... somewhere in production code > use Test::Refute::Contract; > > my $c = Test::Refute::Contract->new; > $c->is( $foo, $bar, "vars match" ); > $c->like( $user_input, qr/f?o?r?m?a?t?/; > > if ($c->get_pass) { > # proceed... > } else { > # no go > warn $c->get_tap; # ok 1 - foo\nnot ok 2 - bar\n1..2 > }; > > Сами проверки совпадают с таковыми в Test::More, плюс можно добавлять > свои и/или расширять сам класс контракта. > > Также имеется конструкция > > $c->refute( $what_went_wrong, $human_explanation); > > - которая, собственно, и используется для расширения. assert, вывернутый > наизнанку: если первый аргумент false (null в случае плюсов/джавы) - > считаем, что всё working as expected; если же там пришло что-то - то громко > жалуемся, сообщая и объяснение, и причину провала. > > Выглядит немножко контр-интуитивно, но если освоить именно такую форму, > на нормальный assert без слёз уже смотреть не получается. > > Ннннадо кому? > > https://github.com/dallaylaen/perl-test-refute > > -- > Konstantin S. Uvarin > jabber: see <from> > skype: kuvarin > http://github.com/dallaylaen > -- Konstantin S. Uvarin jabber: see <from> skype: kuvarin http://github.com/dallaylaen
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
