这个问题与
this question I asked before有关.我有多个测试文件(A.t,B.t,C.t等),用于测试各自的模块A,B,C&所以.但是当我做一个测试,它运行所有的测试.但是,当我正在使用一个特定的模块B时,我想为该模块运行单元测试.完成我的更改后,我会运行整个套件.
那么有什么办法可以像制作测试B那样做,它只会运行使用B.t的测试?当我说一些像“测试全部”这样的事情,它运行所有的测试在“t”目录下?谢谢.
解决方法
我只是运行我想运行的测试:
% make; perl -Mblib t/B.t
你也可以做同样的事情证明.
-Mblib加载模块blib,它只为您添加了@INC中的blib / lib(及其各种专用目录).它带有Perl.证明应该用-b开关做同样的事情.
我的命令真的是两部分:make(或./Build for Module::Build.这样构建源代码,并将Perl模块和其他文件移动到“build library”或者blib中,作为完整安装的中间步骤.对于blib的版本和刷新,对我来说,由于我自己测试,我确保我自己刷新blib并将其包含在Perl的模块搜索路径中.
尽管我知道这一切,但是您可能会感到惊讶的是,我经常忘记执行其中一个步骤,并最终对错误版本的测试进行测试,无论是完全安装的旧版本(忘记了-Mblib)还是旧的开发源(忘了做).这导致我调试语句如:
print "No really,this is the Foo version. kthnxbye\n";