我现在开始使用Test::More,已经有一些.t测试脚本。现在,我想定义一个仅用于测试,但跨不同.t文件的函数。放置这种功能的最佳位置在哪里?定义另一个.t而不进行任何测试,并在需要的地方require? (作为旁注,我使用Module::Starter创建的模块结构)

最佳答案

如rjh所示编写模块。将其放在t/lib/Test/YourThing.pm中,然后可以按以下方式加载:

use lib 't/lib';
use Test::YourThing;

或者,您可以将其直接放在t/Test/YourThing.pm中,将其称为package t::Test::YourThing并加载为:
use t::Test::YourThing;

好处是不必在每个测试文件中写入use lib行,并将其明确标识为本地测试模块。不利的一面是t/困惑,如果为“。”,它将不起作用。不在@INC中(例如,如果您以taint模式运行测试,但是可以使用use lib "."解决),并且如果您决定将.pm文件移出项目,则必须重写所有用法。你的选择。

关于perl - 在Perl .t测试中,应该将通用实用程序功能放在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2833991/

10-12 00:25
查看更多