我想我找到了答案Test::Less
Test::Less - 测试分类和子集执行
test-less 通常将标签和测试文件之间映射的索引文件保存在一个名为 t/Test-Less/index.txt 的文件中。您可以使用 --file 选项或 TEST_LESS_INDEX 环境变量覆盖它。
Tags are strings matching /^[\w\-]+$/.
-list 和 -prove 命令采用所谓的标记规范。
规范是标签列表和可能的文件名。
无测试证明 foo bar baz
运行所有 foo 测试、bar 测试和 baz 测试。
test-less -prove foo,bar,baz
即使在我能够修复 Test::Less 中的编译错误之后,我仍然无法使用自 2009 年以来已被破坏的 Test::Less 运行任何测试。所以查看 Test::Class 可能是答案:
http://search.cpan.org/~ether/Test-Class-0.46/lib/Test/Class.pm
有时您只想运行一个测试。注释掉其他测试或编写代码以跳过它们可能很麻烦,因此您可以指定 TEST_METHOD 环境变量。该值应为有效的正则表达式,如果存在,则仅运行名称与正则表达式匹配的测试方法。启动、设置、拆卸和关机测试仍将运行。
一种简单的方法是在调用 runtests 方法之前指定环境变量。
Running a test named customer_profile:
#! /usr/bin/perl
use Example::Test;
$ENV{TEST_METHOD} = 'customer_profile';
Test::Class->runtests;
Running all tests with customer in their name:
#! /usr/bin/perl
use Example::Test;
$ENV{TEST_METHOD} = '.*customer.*';
Test::Class->runtests;