我的测试套件的一部分依赖于API URL。有时我想使用另一个URL运行我的测试。是否有办法将此参数传递给prove,或者我是否需要编辑定义API URL的文件?
prove
bjp0bcyl1#
也许在测试程序中设置一个默认的URL,但是允许它被一个环境变量覆盖。
my $url = $ENV{MY_TEST_URL} // 'http://api.example.com/';
zpgglvta2#
prove(perldoc prove)的文档包含以下内容:测试的参数可以为测试提供参数。要这样做,请使用arisdottle ' :: '将它们与prove自己的参数分开。例如
perldoc prove
::
prove -v t/mytest.t :: --url http://example.com
将使用选项“--url http://example.com”运行t/mytest.t。运行多个测试时,每个测试将接收相同的参数。因此,::之后的部分将出现在测试脚本的@ARGV中。
--url http://example.com
t/mytest.t
@ARGV
my $url = $ARGV[0] // $ENV{'TEST_URL'};
2条答案
按热度按时间bjp0bcyl1#
也许在测试程序中设置一个默认的URL,但是允许它被一个环境变量覆盖。
zpgglvta2#
prove
(perldoc prove
)的文档包含以下内容:测试的参数可以为测试提供参数。要这样做,请使用arisdottle '
::
'将它们与prove自己的参数分开。例如将使用选项“
--url http://example.com
”运行t/mytest.t
。运行多个测试时,每个测试将接收相同的参数。因此,
::
之后的部分将出现在测试脚本的@ARGV
中。