use_ok()

The real first thing you test is if the module loaded.

use Test::More tests => 1;
BEGIN { use_ok( 'Date::ICal' ); }

Has to be inside a BEGIN block to act like a real 'use' and export functions at the right time

Remember the black magic? That's what it was doing.

Also require_ok().

Can cause intermittent failures on compilation error, so:

BEGIN { use_ok( 'Date::ICal' ) or exit; }

| toc |