Приветствую!

  Прошу прощения за кривой сабж.

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

Ответить