Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Philosophical question about testing

by eyepopslikeamosquito (Canon)
on Oct 28, 2010 at 04:40 UTC ( #867904=note: print w/ replies, xml ) Need Help??


in reply to Philosophical question about testing

Did you write the test script before or after writing the module? Writing tests early accrues many benefits.

I think it's appropriate that you're using the same (perl) file permission techniques in the module and the script; that makes the test script more portable and easier to maintain than if you checked file permissions using Linux or Windows specific techniques, for example. After all, you're not testing perl itself, you're testing your module: you want to demonstrate, via your test script, that your module has a nice, clean, portable, easy to understand interface, and is easy to test in isolation. Testing file permissions in a non-perl way, while a good idea for testing perl itself, introduces unnecessary complexity and an unwelcome dependency for your module's test suite.


Comment on Re: Philosophical question about testing
Re^2: Philosophical question about testing
by aquarium (Curate) on Oct 29, 2010 at 01:30 UTC
    just from what i've seen...the test harness would use chmod (for example) which works equally well on linux and unix, but windows is a different beast of course for most systems that don't have cygwin installed...our systems did. anyway, the point of using system utilities instead of perl built-ins is to more closely approximate system conditions in a production environment. whilst i wouldn't preclude totally using some perl in a test harness, i think you need some degree of separation from test harness and app/module being tested. otherwise you're writing just a slight variation of the original script, instead of a test harness, i think.
    a good example of test harness methodology and code is the various test/install scripts in unix/linux software, or even the unix/linux oracle installer scripts.
    the hardest line to type correctly is: stty erase ^H

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://867904]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others avoiding work at the Monastery: (10)
As of 2014-12-26 19:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (174 votes), past polls