我正在尝试为写入套接字的一些通信代码编写一些单元测试。在测试期间,我想让我的通信库写入一个字符串,然后我可以将字符串的内容与我期望写的内容进行比较。
在Java中我使用类似StringWriter
的东西,这样我的通信代码就可以写入标准Writer
接口,最后我可以询问所有写入的数据。
是否有相当于Perl的Python或String的StringIO?这样的东西已经内置了?
答案 0 :(得分:4)
是。从v5.8起,您可以直接打开输出句柄到标量引用。
my $output;
open my $handle, '>', \$output;
print $handle "foo\n";
printf $handle "%d\n", 123;
close $handle;
print $output; # => "foo\n123\n"
答案 1 :(得分:0)
您可以使用IO::Stringy执行类似操作。