Alternative to test::more::use_ok
use ok 'Some::Module';
According to the Test::More documentation, it is recommended to run \*(C`use_ok()\*(C' inside a \*(C`BEGIN\*(C' block, so functions are exported at compile-time and prototypes are properly honored.
That is, instead of writing this:
use_ok( 'Some::Module' ); use_ok( 'Other::Module' );
One should write this:
BEGIN { use_ok( 'Some::Module' ); } BEGIN { use_ok( 'Other::Module' ); }
However, people often either forget to add \*(C`BEGIN\*(C', or mistakenly group \*(C`use_ok\*(C' with other tests in a single \*(C`BEGIN\*(C' block, which can create subtle differences in execution order.
With this module, simply change all \*(C`use_ok\*(C' in test scripts to \*(C`use ok\*(C', and they will be executed at \*(C`BEGIN\*(C' time. The explicit space after \*(C`use\*(C' makes it clear that this is a single compile-time action.
Test::More
To the extent possible under law, a\*oXXe\*'\s-1XX\s0 has waived all copyright and related or neighboring rights to Test-use-ok.
This work is published from Taiwan.
<http://creativecommons.org/publicdomain/zero/1.0>