If I run this script use Test::More;
plan tests => 2; BEGIN { use_ok( 'My', 'foo' ); } ok(1); is(foo, 1); I got the output, which says nothing about the use_ok. It is not counted as a test, it does not ruin the plan, it does its job (requiring and importing a &foo subroutine). $ perl use_ok_ok.t 1..2 ok 1 ok 2 Is this expected? ### # a source file for My.pm goes as follows package My; require Exporter; our @ISA = qw(Exporter); our @EXPORT = qw(foo bar); sub foo { 1 } 1;