ba2a02e5f5
According to the Test::More documentation, it is recommended to run use_ok() inside a BEGIN 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 BEGIN, or mistakenly group use_ok with other tests in a single BEGIN block, which can create subtle differences in execution order. With this module, simply change all use_ok in test scripts to use ok, and they will be executed at BEGIN time. The explicit space after use makes it clear that this is a single compile-time action.
21 lines
757 B
Text
21 lines
757 B
Text
According to the Test::More documentation, it is recommended to run
|
|
use_ok() inside a BEGIN 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 BEGIN, or mistakenly group
|
|
use_ok with other tests in a single BEGIN block, which can create subtle
|
|
differences in execution order.
|
|
|
|
With this module, simply change all use_ok in test scripts to use ok,
|
|
and they will be executed at BEGIN time. The explicit space after use
|
|
makes it clear that this is a single compile-time action.
|