1

我编写了简单的 Perl 测试用例示例:

use Test::More;
is(2 + 4, 5, "Addition check"); 

屏幕上的输出:

Failed test 'Addition check'
at t/simpel_perl_test.t line 2.
got: '6'
expected: '5'

现在我想在日志文件和屏幕上打印一条消息?

我无法使用现有的 Perl 模块IO::Tee<test case name>.t满足我的要求。

你能告诉我如何在屏幕上和 Perl 测试用例的日志文件中写一条消息吗?

使用的命令:

prove -r --timer t/simpel_perl_test.t :: -d 
4

1 回答 1

1

这些IO::Capture模块是专门为在测试执行期间执行此操作而编写的。从阅读开始IO::Capture::Overview。但是,您似乎希望将测试工具输出发送到文件中。也许您想提供一个prove可以写入文件的格式化程序参数。您可以使用ing 文件来跟进prove调用。cat尝试使用TAP::Formatter::File模块作为您的参数,尽管我无法轻易看到文件是如何命名的。

tee使用该命令不是最好的吗?

$ prove -r --timer simple_perl_test.t :: -d |tee simple_perl_test.txt
[02:08:12] simple_perl_test.t .. ok       24 ms ( 0.00 usr  0.00 sys +  0.02 cusr  0.00 csys =  0.02 CPU)
[02:08:12]
All tests successful.
Files=1, Tests=1,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.02 cusr  0.00 csys =  0.05 CPU)
Result: PASS
$ cat simple_perl_test.txt 
[02:08:12] simple_perl_test.t .. ok       24 ms ( 0.00 usr  0.00 sys +  0.02 cusr  0.00 csys =  0.02 CPU)
[02:08:12]
All tests successful.
Files=1, Tests=1,  0 wallclock secs ( 0.02 usr  0.01 sys +  0.02 cusr  0.00 csys =  0.05 CPU)
Result: PASS
$
于 2016-05-02T08:18:57.713 回答