当我使用CPAN模块具有的常规测试工具运行make test
时,它只会输出一个简短的摘要(如果一切顺利)。
t/000_basic.t .......................... ok
t/001_db_handle.t ...................... ok
t/002_dr_handle.t ...................... ok
t/003_db_can_connect.t ................. ok
... snip ...
All tests successful.
Files=30, Tests=606, 2 wallclock secs
Result: PASS
如果我单独运行测试,它们会输出更详细的信息。
1..7
ok 1 - use DBIx::ProcedureCall::PostgreSQL;
ok 2 - simple call to current_time
ok 3 - call to power() with positional parameters
ok 4 - call to power() using the run() interface
ok 5 - call to setseed with a named parameter
ok 6 - call a table function
ok 7 - call a table function and fetch
如何在此详细模式下运行所有测试?我可以将某些内容传递给make test
吗?
答案 0 :(得分:14)
ExtUtils::MakeMaker文档在make test部分解释了这一点:
make test TEST_VERBOSE=1
如果发行版使用Module::Build,则会有所不同:
./Build test verbose=1
您还可以使用prove附带的Test-Harness命令:
prove -bv
(或prove --blib --verbose
如果你喜欢长选项。)这个命令有点不同,因为它不首先构建模块。 --blib
选项使其查找由make
或./Build
创建的已构建但已卸载的模块,但如果您在更改内容后忘记重建模块,则会运行测试反对以前建立的副本。如果您根本没有构建模块,它将测试安装的模块版本。
prove还允许您仅运行特定的测试:
prove -bv t/failing.t
答案 1 :(得分:7)
您还可以使用prove
命令:
prove --blib --verbose
来自解压缩模块的顶级目录。 --blib包含已构建但未安装的模块分发所需的目录。