gpt4 book ai didi

perl - 如何验证文件名?

转载 作者:行者123 更新时间:2023-12-03 17:10:15 24 4
gpt4 key购买 nike

我有一个为用户头像返回文件的函数,我想为它创建测试。我想要做的是检查文件的名称。
这是函数:

sub get_avatar {
my $self = shift;
my $username = $self->stash('username');

my $home = Mojo::Home->new;
$home->detect('Project');
my $path = $home->child('users', 'avatars', "$username");

$path = $home->child('img', 'default.png') if !(-e $path);

$self->render_file('filepath' => $path);
}
这是测试:
$file = $t->get_ok('/user/username/avatar')->status_is(200);
//use Data::Dumper;
//diag Dumper($file);

ok $file =~ 'username';
我想检查 $file 的名称是否等同于“用户名”(这是来自服务器的文件名)或“默认”(如果它是默认头像)。

最佳答案

不要使用文件路径。使用实际图像。创建两个小测试图像。它们可以是 2x2 像素的 PNG 文件。也许让它们单色,但不同。有一个是你的默认一个。
然后将其序列化并将其作为字符串放入您的测试中。运行 $t->tx->res->body通过相同的序列化,并比较这两个。
如果需要,您还可以在运行代码之前让测试部署该镜像,因此您的应用程序不依赖于存在的镜像。

关于perl - 如何验证文件名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64819704/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com