如何从插值__LINE__行号插入在Perl测试的名字吗?(How do I interpolate

2019-09-21 16:12发布

当我尝试这个测试案例:

$sel->is_text_present_ok("foo", ("$testname: line ", __LINE__));

我想在日志中得到这样的:

ok 1 - is_text_present, "foo", Testcase-881: line 54

但我得到斥责在命令行:

你叫你的测试“54”。 你不应该将你的测试名称中使用的数字。 非常混淆。

我想我应该是插值到文字串莫名其妙,但我不能得到它的底部。 我已经试过各种使用逗号和引号配置。

有没有什么办法让我在寻找的结果?

Answer 1:

只需使用串联操作 .

$sel->is_text_present_ok("foo", "$testname: line " . __LINE__);

仅供参考,你可以这样插值是: "$testname: line ${\(__LINE__)}"



文章来源: How do I interpolate a line number from __LINE__ into the name of a test in Perl?