如何自动运行大量的perl脚本?

eri*_*ung 5 testing perl automated-tests system-testing

我需要在Windows上运行超过100个perl脚本(由前员工编写)以进行系统稳定性测试.每个脚本都有几个函数,每个函数都会向我们的后端系统发送一些linux命令,并返回结果.结果写入日志文件(当前每个脚本都有一个日志文件).结果是"成功","失败".

一个接一个地运行这些perl脚本正在耗费我的时间.我正在考虑编写一个批处理文件来自动化它,但我必须解析结果文件以生成测试报告.我在网上搜索,似乎有几个测试框架,比如Test :: Harness,Test :: More,Test :: Most都是不错的选择.虽然根据我的理解,他们只使用.t文件,我们的脚本是普通的perl脚本(.pl),而不是标准的perl测试脚本(.t脚本).如果使用,例如,Test :: Harness,我应该将所有perl脚本从.pl更改为.t,并将它们放在t文件夹下吗?如何在Test :: Harness中调用我的函数?有人可以建议一种更好的方法来自动化测试过程并生成像Test :: Harness那样的测试报告吗?我想一个例子将非常有用.

chr*_*lck 1

我们中的一个人在这里感到困惑。这些(100 多个)perl 脚本不是单元测试,对吗?

如果我是正确的,请继续阅读。

Test::*你提到的并不是你真正要找的东西。

在我看来,您只需要一个main.pl或一个.bat来运行每个test.pl

所以看来你走在正确的道路上。如果可以将所有测试放在同一目录中,您可以执行类似的操作。

my $tests_directory = "/some/path/test_dir";
opendir my $dh, $tests_directory or die"$!";
my @tests = grep { $_ !~ /^\./{1,2}$/ } readdir $dh; 

for my $test (@tests) {
    system('perl', $test);
}
Run Code Online (Sandbox Code Playgroud)