Can someone suggest some good automated test suite framework for Perl?
相关问题
- $ENV{$variable} in perl
- Is it possible to pass command-line arguments to @
- Redirecting STDOUT and STDERR to a file, except fo
- Change first key of multi-dimensional Hash in perl
- Get access to Angular service instance from JavaSc
相关文章
- Web Test recorder does not allow me to record a te
- Factory_girl has_one relation with validates_prese
- Running a perl script on windows without extension
- Comparing speed of non-matching regexp
- What is the difference between `assert_frame_equal
- Can NOT List directory including space using Perl
- Extracting columns from text file using Perl one-l
- Lazy (ungreedy) matching multiple groups using reg
I'd go for Test::More, or in general, anything that outputs TAP
Have you seen smolder?
"Smoke Test Aggregator used by developers and testers to upload (automated or manually) and view smoke/regression tests using the Test Anything Protocol. Details and trends are graphed and notifications provided via email or Atom feeds."
You certainly want to be using prove (runs your test) and/or Module::Build (builds your code and then runs your tests using the same test harness code which prove uses internally.)
Are you aware of the 'prove' utility (from App::Prove)? You can tell it to run all the tests recursively in a given directory, with or without verbosity, etc.
If you're using ExtUtils::MakeMaker or Module::Build, then you can run all your tests automatically by entering the command "make test" or "Build test", which will execute any *.t files in your project's t/ subfolder.
If you're not using either of these, then you can use TAP::Harness to automate execution of multiple test scripts.
To actually write the tests, use Test::More or any of the modules that others have suggested here.
Check out CPAN Testers, which have a lot of tools for automated testing. Most of that should be on CPAN so you'll be able to modify it to meet your needs. It's also very easy to write your own tester using TAP::Harness.
What exactly do you need to do and how are you trying to fit it into your process?