> our $var_helloworld = "hello world!\n";
> 注意这里我们使用的是 Perl 的“our”关键字,而不是“my”.
我看了下,确实是关键字问题。换成our就可以了。
同时我发现,下面的示例中,使用my关键字时,并不会报错误,测试依然会成功:
use lib 'lib';
use lib 't';
use Test::Nginx::Socket;
repeat_each(1);
plan tests => repeat_each() * 1 * blocks();
my $var_hello = "hello33\n";
run_tests();
__DATA__
=== Test 3: variable
--- config
location /hello {
echo "hello";
}
--- request
GET /hello
--- error_code eval
200
--- response_body eval
$::var_hello
由于$::var_hello取得的值为空,貌似该 response_body的检查直接被忽略掉了,并且没有任何提示信息。(当然加上引号就会报错误了)。
由于之前我没注意到该问题,所以我之前一些测试用例中实际上都没有生效。所以,我觉得这种被忽略的检查段,能有个警告是比较友好的。
-- jie123108