In a perl module, I'd like to have two tests that are almost the same but differ a little bit in a setting. These should be ran independently (in two different perl interpreter invocations) because I'm changing the global state of the interpreter in a way that would be hard to undo, and I would not like the tests to interfere with each other. Also, even if either test fails completely or is skipped (eg. because some dependency is missing), the other should still be ran normally. If possible, I'd like the tests to work no matter how you invoke them, eg. make test (the makefile is generated by ExtUtils::MakeMaker), prove, or running the *.t files with perl directly.
Is there a best practice to do this kind of code sharing among two tests?
Update: mst claims the standard approach is to put the libraries for tests in the t/lib directory, and says that you always run tests with the working directory being the parent of t, so if you add use lib t/lib; to the tests that should find this modules.
In reply to Share code among tests by ambrus
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |