1

我正在尝试为一些写入套接字的通信代码编写一些单元测试。在测试期间,我想让我的通信库写入一个字符串,然后我可以将字符串的内容与我期望写入的内容进行比较。

在 Java 中,我会使用类似 a 的东西,StringWriter以便我的通信代码可以写入标准Writer接口,最后我可以请求所有写入的数据。

对于 Perl,是否有相当于这个或 Python 的 StringIO 的?像这样的东西已经内置了吗?

4

2 回答 2

5

是的。从 v5.8 开始,您可以直接打开标量引用的输出句柄。

my $output;
open my $handle, '>', \$output;
print $handle "foo\n";
printf $handle "%d\n", 123;
close $handle;
print $output;   # => "foo\n123\n"
于 2013-06-20T16:05:58.280 回答
0

你可以用IO::Stringy做类似的事情。

于 2013-06-20T15:26:54.580 回答