这取决于你想做什么,但以下是某些相关背景信息。
首先,你通常会使用Test::More或Test::Simple作为核心测试程序来编写测试程序:
use Test::More tests => 2;
is 3, 3, 'basic equality should work';
ok !0, '... and zero should be false';
在内部,Test::Builder被调用以将这些测试结果输出为TAP(测试任意协议)。Test::Harness(围绕TAP::Harness的薄包装器)读取并解释TAP,告诉您测试是否通过或失败。上面提到的"prove"工具与Test::Harness捆绑在一起,因此假设将上述内容保存在t/目录(标准Perl测试目录)中,命名为"numbers.t",则可以使用以下命令运行它:
prove --verbose t/numbers.t
或者运行该目录下的所有测试(递归地,假设您想进入子目录):
prove --verbose -r t/
(当然,--verbose是可选的)。
另外注意,不要使用TestUnit。虽然很多人推荐它,但它已经被放弃很久了,也不能与现代测试工具集成。
你见过smolder吗?
"Smoke Test Aggregator是开发人员和测试人员使用的工具,可以通过Test Anything Protocol上传(自动或手动)和查看烟雾/回归测试。详细信息和趋势以图形方式呈现,并通过电子邮件或Atom订阅提供通知。"
我们必须手动运行所有的测试文件进行测试。
你肯定希望使用 prove(运行你的测试)和/或 Module::Build(构建你的代码,然后使用与 prove 内部相同的测试工具代码运行你的测试。)
测试套件框架的选择是Test::Harness,它负责控制测试运行、收集结果等。
存在各种模块来提供某些类型的测试,其中最常见的可以在Test::Simple和Test::More中找到(两者都包含在Test-Simple分发中)。整个CPAN上的Test命名空间都专门用于专业单元测试模块,其中大部分都设计为在Test::Harness下运行。
按照惯例,测试存储在项目的t/目录中,每个测试文件使用文件扩展名.t;通常通过以下方式运行测试:
prove t/*.t
模块分发通常包括一个名为“test”的make目标,在安装之前运行测试套件。默认情况下,CPAN安装过程要求在构建后测试通过,才能安装模块。
个人而言,我喜欢Test::Most,它基本上是带有一些酷炫功能的Test::More。