パルカワ2

最近はFlutterをやっています

Test::Retryというのを作ってみた。

テストがこけた時にリトライする、Sub::Retryっぽい感じのやつが欲しかったので作ってみました。
https://github.com/hisaichi5518/p5-test-retry/

こういうテストが通る。

use strict;
use warnings;
use Test::More;
use Test::Retry;

my $i = 0;
subtest "retry" => retry 5, 1, sub {
    pass;
    fail "but ok" if $i < 3;
    pass;
    $i++;
};

done_testing;
__END__
t/01_retry.t ....     
    #   Failed test 'but ok'
    #   at t/01_retry.t line 9.
        #   Failed test 'but ok'
    #   at t/01_retry.t line 9.    
    #   Failed test 'but ok'
    #   at t/01_retry.t line 9.
t/01_retry.t .... ok   
  • appleのレシート検証のサンドボックスサーバが、時々500になってテストがこけるのがつらくて作ってみたのだけれど、結局使ってないのであった。
  • Test::Builderを調べながらやってたら泥臭い感じになってしまったのだけれど、もっといい方法あるかもしれない。
  • コードリファレンス返すようになっているけど、いらないお世話っぽい
  • https://github.com/hisaichi5518/p5-test-retry/