Testowanie programu
Teraz, kiedy mam podstawowy szkielet modulina, mogę wykorzystać zalety takiego rozwiązania. Ponieważ mój program nie jest wykonywany, kiedy dołączam go jako moduł, mogę wczytać go do programu testowego bez żadnych skutków ubocznych. Mogę też wykorzystać całą infrastrukturę testową Perla.
Jeśli dobrze napiszę kod, dzieląc go na procedury robiące tylko jedną rzecz, będę mógł testować każdą procedurę oddzielnie. Ponieważ zadaniem procedury run
jest wypisywanie wyniku, używam modułu Test::Output
, aby przechwycić standardowe wyjście i porównać rezultaty:
use Test::More tests => 2; use Test::Output; use_ok( 'Pkhp' ); stdout_is( sub{ main::run() }, "Po prostu kolejny haker Perla, \n" );
W ten sposób mogę testować poszczególne części ...
Get Perl. Mistrzostwo w programowaniu now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.