TDD-测试驱动
红->绿->重构
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
#引入源代码所在目录
use lib "/sdbdata/develop/src/lib/";
#引入待测试的包
use log4p;
#测试用例数目
use Test::More tests => 8;
# or alternately, if we don't know how many:
# use Test::More qw(no_plan);
#测试初始化
# Check that our module compiles and can be "use"d.
BEGIN { use_ok( 'PerlNet::TestMe' ); }
# Check our module can be required. Very similar test to that above.
require_ok( 'PerlNet::TestMe' );
# There are a number of ways to generate the "ok" tests. These are:
# ok: first argument is true, second argument is name of test.
# is: first argument equals (eq) second argument, third argument is name of test.
# isnt: first argument does not equal (ne) the second, third is name of test
# like: first argument matches regexp in second, third is name of test
# unlike: first argument does not match regexp, third is name of test
# cmp_ok: compares first and third argument with comparison in second. Forth is test name.
ok( (1+1) == 2, "Basic addition is working");
is ( 2 - 1, 1, "Basic subtraction is working");
isnt( 2 * 2, 5, "Basic multiplication doesn't fail");
like ("PerlNet is great", qr/PerlNet/i, "Finding PerlNet in a string");
unlike("PerlNet is great", qr/PythonNet/i, "Not finding PythonNet in a string");
cmp_ok($this, '==', $that, "Comparing $this and $that with integer ==");