我有从Mojolicious(mojo / log.t)复制的以下代码块。
我正在测试的应用程序$app->log->warn('whatever');
。
不幸的是,当我将测试作为make test
的一部分运行时,STDERR恰好是空的。当我用prove -lv t/basic.t
运行它时,它成功了。我的计划有什么问题。测试程序的完整源代码是here
谢谢!
my $buffer = '';
{
open my $handle, '>', \$buffer;
local *STDERR = $handle;
require Blog;
my $blog = Blog->new;
$blog->startup();
}
like $buffer, qr/"routes" key must point to an ARRAY/,
'right warning about ARRAY reference';
答案 0 :(得分:1)
将帖子
您可能需要将环境变量MOJO_LOG_LEVEL
设置为warn
。
Mojo检查日志记录级别的方式是$ENV{MOJO_LOG_LEVEL}
(默认情况下fatal
,如果使用Test :: Mojo)优先级高于应用程序中设置的级别。
我使用了Mojolicious 7.59版来检查这些东西。