Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?

Re: Re: Testing Non-module code

by paulbort (Hermit)
on Mar 16, 2004 at 18:59 UTC ( #337090=note: print w/replies, xml ) Need Help??

in reply to Re: Testing Non-module code
in thread Testing Non-module code

I also have a lot of procedural code, some modules, and some subroutines. The (partially implemented) plan here is:
  • Use normal module testing for all the modules
  • Ditto subroutines
  • Use WWW::Mechanize in a test script to test the CGI
  • For all of the other programs, have the test script build a proper environment (set inputs and such) and then qx// the script to be tested. Then use the Test::More functions on the results. (If the program was supposed to create file '/tmp/foo', then do ok( -e '/tmp/foo' ).)

An example of the last: the application I'm developing here has a series of Perl scripts that create and setup the initial database. The test script can test these by making sure there is no database of that name, then running the scripts in qx//, and checking to see if the database exists and has the right tables. (Quick aside: Always generating your db from a re-runnable, extendable script comes in handy later.)

This will also work for scripts that are just supposed to read from one queue in the database and write to another: Set up something in the DB for the script to do, run the script, see if the output is good.

Spring: Forces, Coiled Again!

Replies are listed 'Best First'.
Re: Re: Re: Testing Non-module code
by grantm (Parson) on Mar 17, 2004 at 08:39 UTC
    Use WWW::Mechanize in a test script to test the CGI

    If you're using Apache, you might like to check out Apache::Test. I've found it to provide a very usable framework.

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://337090]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (5)
As of 2017-11-20 06:38 GMT
Find Nodes?
    Voting Booth?
    In order to be able to say "I know Perl", you must have:

    Results (284 votes). Check out past polls.