テストがこけた時にリトライする、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/