gpt4 book ai didi

perl - 如何从 Perl 测试文件检查文件的内容?

转载 作者:行者123 更新时间:2023-11-28 20:07:06 25 4
gpt4 key购买 nike

我想测试我用 Perl 编写的脚本,并专门检查它写入文件的输出。我前一段时间写的,不想修改到将其变成模块的程度,而是想在添加一些小的功能更改之前对其进行回归测试。

目前为止

use Test::Command tests => 10;

exit_is_num($cmd, 0);
....

但该命令会生成一些文件,我想检查这些文件是否与我预期的相同(等于或匹配某些正则表达式)。有什么建议

最佳答案

好吧,我会采用蛮力 DIY 方法(但是可能已经有一些带有文件检查 API 的测试模块——我只是从来没有遇到过像我们需要的那样灵活/通用的东西,并且自己编写了,而且从来没有感觉到迫切需要更深入地搜索 :)。

我将描述一个相当通用的测试设置,您可能想要/只需要它的非常具体的文件测试方面。

我们在这种情况下所做的实际上就是您上面的功能规范所述,作为整体测试框架的一部分:

  • 拥有一个包含两种方法(以及其他方法)的测试库 - test_file_identical()test_grep_file()。如果您在编写这两个方面需要帮助,请发表评论,我会提供一些提示(我们使用不同的比较器,包括 -e 的组合,各种 stat 的比较属性,将测试文件的内容字符串与通过 File::Slurp 获得的基准文件进行比较,并对文件进行 grep,逐行或通过小文件的 slurped 内容,包括将经过按摩的 grep 结果与基准文件进行比较。

  • 将您的测试用例组织到子目录(或压缩包)中,每个测试一个,每个测试包含 2 个目录 - 输入文件和预期输出文件。

  • 让测试引擎脚本在测试用例上循环(对我们来说,测试用例由 Perl 数据结构或更好的 XML 文件进行元描述,以便业务分析师可以在需要时修改它们)。

  • 如果测试用例指定测试需要匹配(完全或通过 grep),测试引擎会找到合适的文件(硬编码名称,或通过测试用例中指定的名称模式),应用这些文件第一个要点中提到的测试方法

关于perl - 如何从 Perl 测试文件检查文件的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2543325/

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