推荐答案
use Test::Simple tests => 1; ok( 1 + 1 == 2, '1 + 1 equals 2' ); use Test::More tests => 2; is( 2 * 2, 4, '2 * 2 equals 4' ); like( 'Hello, World!', qr/World/, 'String contains "World"' );
本题详细解读
Test::Simple 模块
Test::Simple
是 Perl 中最基础的测试模块,提供了最简单的测试功能。它主要包含一个 ok
函数,用于判断某个条件是否为真。
ok($condition, $test_name)
:$condition
是一个布尔表达式,如果为真,则测试通过;$test_name
是测试的名称,用于标识测试。
Test::More 模块
Test::More
是 Test::Simple
的扩展模块,提供了更多的测试功能和更丰富的断言方法。
is($got, $expected, $test_name)
:比较$got
和$expected
是否相等,如果相等则测试通过。like($string, $regex, $test_name)
:检查$string
是否匹配正则表达式$regex
,如果匹配则测试通过。
使用场景
Test::Simple
适用于简单的测试场景,只需要判断某个条件是否为真。Test::More
适用于更复杂的测试场景,提供了更多的断言方法,能够更精确地描述测试预期。
示例代码解析
Test::Simple
示例:use Test::Simple tests => 1; ok( 1 + 1 == 2, '1 + 1 equals 2' );
这里我们使用
ok
函数来测试1 + 1
是否等于2
,并给测试命名为'1 + 1 equals 2'
。Test::More
示例:use Test::More tests => 2; is( 2 * 2, 4, '2 * 2 equals 4' ); like( 'Hello, World!', qr/World/, 'String contains "World"' );
这里我们使用
is
函数来测试2 * 2
是否等于4
,并使用like
函数来测试字符串'Hello, World!'
是否包含'World'
。