我的测试套件的部分依赖于API URL。有时我想使用另一个URL运行测试。是否有方法将此参数传递给prove
,或者是否需要编辑定义API URL的文件?
可能在测试程序中设置默认URL,但允许环境变量覆盖它。
my $url = $ENV{MY_TEST_URL} // 'http://api.example.com/';
prove
(perldoc prove
(的文档包含以下内容:
测试参数可以为测试提供参数。这样做将它们与用"
::
"证明自己的论点。例如prove -v t/mytest.t :: --url http://example.com
将使用选项"
--url http://example.com
"运行t/mytest.t
。什么时候运行多个测试时,每个测试都会收到相同的参数。
因此,::
之后的部分将出现在测试脚本的@ARGV
中。我更喜欢提供传递args的选项组合。例如:
my $url = $ARGV[0] // $ENV{'TEST_URL'};