在单元测试中,我需要设置一个在 perl 脚本中使用的全局变量,我已将其更改为 modulino。我很高兴地在 modulino 中调用 subs。
在 Ubuntu 上使用为 x86_64-linux-gnu-thread-multi 构建的 perl (v5.18.2)。
请注意,模数非常简单,甚至不需要“caller()”技巧。
测试.pl
#!/usr/bin/perl
use strict;
use warnings;
my %config =
(
Item => 5,
);
sub return_a_value{
return 3;
}
测试1.t
#!/user/bin/perl -w
use warnings;
use strict;
use Test::More;
use lib '.';
require_ok ( 'test.pl' );
print return_a_value();
测试2.t
#!/user/bin/perl -w
use warnings;
use strict;
use Test::More;
use lib '.';
require_ok ( 'test.pl' );
$config{'Item'} = 6;
test1.t 按预期显示
ok 1 - require 'test.pl';
3# Tests were run but no plan was declared and done_testing() was not seen
test2.t(编译失败)
Global symbol "%config" requires explicit package name at test.t line 8.
Execution of test.t aborted due to compilation errors.