我正在编写一个简单的测试自动化套件,它会告诉我通过和失败的测试用例的数量。下面是一个描述代码的简单示例:
#! /usr/bin/perl -w
use Test::Simple tests => 1;
print "Enter the name of the Book: ";
$name = <STDIN>;
chomp($name);
print "You have entered $name \n";
$ori_name = "TextBook";
chomp($ori_name);
ok($name eq $ori_name, 'Checking name');
Run Code Online (Sandbox Code Playgroud)
输入“TextBox”作为输入后,我得到的输出如下:
1..1
Enter the name of the Book: TextBook
You have entered TextBook
ok 1 - Checking name
Run Code Online (Sandbox Code Playgroud)
我想将相同的输出重定向到一个文件,它应该看起来像
ok 1 - Checking name
Run Code Online (Sandbox Code Playgroud)
如果我添加以下子程序
log_message (ok ($name eq $ori_name, 'Checking name');
sub log_message
{
my $message = @_;
open(DA, '>>PJ.txt') or die "Couldn't open file PJ.txt";
print DA $message;
close (DA);
}
Run Code Online (Sandbox Code Playgroud)
然后我得到 ' 1' 或 ' 0' - 不是我想要的文本。
我应该如何进行,以便我的代码的结果重定向到一个文件,该文件应具有以下格式:
ok 1 - Checking name
ok 2 - Checking others
Run Code Online (Sandbox Code Playgroud)
等等?
Test::Simple是一个Test::Builder::Module子类;您可以通过获取Test::Builder对象 ( $TestBuilder = Test::Simple::->builder()) 然后调用其输出方法(请参阅Test::Builder输出)来更改输出的目标。
| 归档时间: |
|
| 查看次数: |
2135 次 |
| 最近记录: |