perl Split Test::将多个套件分成多个文件

gab6jxml  于 2022-11-15  发布在  Perl
关注(0)|答案(1)|浏览(128)

我正在使用Test::More来测试我的应用程序。我有一个脚本run_tests.pl,它运行所有的测试。现在我想将它拆分为run_tests_component_A.pl和B,并从run_tests.pl运行两个测试套件。正确的方法是什么?Test::More有什么有用的方法吗?
我没有使用任何构建系统。

yx2lnoni

yx2lnoni1#

标准做法是使用prove,而不是运行创建run_tests.pl来运行测试套件。
说你有

t/foo.t
t/bar.t

然后,

  • proveprove t的缩写。
  • prove t运行整个测试套件(t/foo.tt/bar.t)。
  • prove t/foo.t运行该特定测试文件。
  • perl t/foo.t运行特定的测试文件,您将获得原始输出。
  • perl -d t/foo.t甚至允许您在调试器中运行测试。

每个文件都是一个独立的程序,如果你需要在测试程序之间共享代码,你可以创建t/lib/Test/Utils.pm(或者其他),并在你的测试文件中使用以下代码:

use FindBin qw( $RealBin );
use lib "$RealBin/lib";
use Test::Utils;

prove按字母顺序执行文件,因此通常对文件进行命名

00_baseline.t
01_basic_tests.t
02_more_basic_tests.t
03_advanced_tests.t

00测试测试模块是否可以加载,仅此而已。它通常会输出加载模块的版本,以帮助解决依赖问题。然后是更基本的测试。比如“如果这个不起作用,你就有大问题了”。如果基本的测试都不起作用,那么测试更复杂的特性就没有意义了。

相关问题