Test::Command

Test::Command is a Perl module with test routines for external commands.
Download

Test::Command Ranking & Summary

Advertisement

  • Rating:
  • License:
  • Perl Artistic License
  • Price:
  • FREE
  • Publisher Name:
  • Daniel B. Boorstein
  • Publisher web site:
  • http://search.cpan.org/~danboo/Tie-Handle-CSV-0.09/lib/Tie/Handle/CSV.pm

Test::Command Tags


Test::Command Description

Test::Command is a Perl module with test routines for external commands. Test::Command is a Perl module with test routines for external commands.SYNOPSISTest the exit status, STDOUT or STDERR of an external command. use Test::Command tests => 11; ## testing exit status my $cmd = 'true'; exit_is_num($cmd, 0); exit_cmp_ok($cmd, '&2'; stderr_like($cmd, /err/); stderr_unlike($cmd, /rre/); stderr_cmp_ok($cmd, 'eq', "errn"); ## run-once-test-many-OO-style ## the first test lazily runs command ## the second test uses cached results my $echo_test = Test::Command->new( cmd => 'echo out' ); $echo_test->exit_is_num(0); $echo_test->stdout_is_eq("outn"); ## force a re-run of the command $echo_test->run;Test::Command intends to bridge the gap between the well tested functions and objects you choose and their usage in your programs. By examining the exit status, STDOUT and STDERR of your program you can determine if it is behaving as expected.This includes testing the various combinations and permutations of options and arguments as well as the interactions between the various functions and objects that make up your program.The various test functions below can accept either a command string or an array reference for the first argument. If the command is expressed as a string it is passed to system as is. If the command is expressed as an array reference it is dereferenced and passed to system as a list. See 'perldoc -f system' for how these may differ.The final argument for the test functions, $name, is optional. By default the $name is a concatenation of the test function name, the command string and the expected value. This construction is generally sufficient for identifying a failing test, but you may always specify your own $name if desired.Any of the test functions can be used as instance methods on a Test::Command object. This is done by dropping the initial $cmd argument and instead using arrow notation.All of the following exit_is_num calls are equivalent. exit_is_num('true', 0); exit_is_num('true', 0, 'exit_is_num: true, 0'); exit_is_num(, 0); exit_is_num(, 0, 'exit_is_num: true, 0'); my $cmd = Test::Command->new( cmd => 'true' ); exit_is_num($cmd, 0); exit_is_num($cmd, 0, 'exit_is_num: true, 0'); $cmd->exit_is_num(0); $cmd->exit_is_num(0, 'exit_is_num: true, 0'); $cmd = Test::Command->new( cmd => ); exit_is_num($cmd, 0); exit_is_num($cmd, 0, 'exit_is_num: true, 0'); $cmd->exit_is_num(0); $cmd->exit_is_num(0, 'exit_is_num: true, 0'); Requirements: · Perl


Test::Command Related Software