gpt4 book ai didi

perl - 在 Perl 中,我可以在一个文件中创建一个测试,该测试仅在另一个文件中的测试运行后运行吗?

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

我正在我编写的 Perl 模块上运行测试文件,我希望有一个条件,其中一些测试仅在其他测试成功运行后运行(但仍将它们保存在单独的文件中)。

我在看 Test::Builder ,但我认为它不适合跨文件测试。

只是为了解释我为什么要这样做;我的模块中的每个子例程都有一个测试文件。其中一些子例程从其他子例程传递了大哈希值,这些子例程难以出于测试目的而复制。

因此,与其花几个小时尝试对可测试哈希进行硬编码,我更希望从代码中传递一个哈希值,只是在测试了生成该哈希值的子例程之后。

我希望这是有道理的!我可以编写一个脚本来按特定顺序运行测试,但认为 Perl 测试模块中可能已经有一个我没有见过的功能。在使用该模块时,理想情况下我希望能够运行测试而不必摆弄“make test”位。

最佳答案

Perl 测试工具似乎按字母顺序运行测试文件。这就是为什么这么多的 CPAN 发行版都有以数字开头的测试文件——这样作者就可以控制测试执行的顺序。例如,如果有人使用 prove -s 运行这些测试,那将会中断。

一般来说,一个测试文件应该被看作是一个完全独立的测试单元。您应该能够以任何顺序运行所有测试,而不会影响任何其他测试。如果两个测试相互依赖,那么它们应该在同一个文件中。

您还没有解释为什么您如此热衷于将这些测试放在单独的文件中。也许这就是您应该质疑的假设。

关于perl - 在 Perl 中,我可以在一个文件中创建一个测试,该测试仅在另一个文件中的测试运行后运行吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15294633/

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