perl 我如何通过prove(Test::More)一个参数,例如一个API URL?

ffx8fchx  于 2022-11-15  发布在  Perl
关注(0)|答案(2)|浏览(125)

我的测试套件的一部分依赖于API URL。有时我想使用另一个URL运行我的测试。是否有办法将此参数传递给prove,或者我是否需要编辑定义API URL的文件?

bjp0bcyl

bjp0bcyl1#

也许在测试程序中设置一个默认的URL,但是允许它被一个环境变量覆盖。

my $url = $ENV{MY_TEST_URL} // 'http://api.example.com/';
zpgglvta

zpgglvta2#

proveperldoc prove)的文档包含以下内容:
测试的参数可以为测试提供参数。要这样做,请使用arisdottle ' :: '将它们与prove自己的参数分开。例如

prove -v t/mytest.t :: --url http://example.com

将使用选项“--url http://example.com”运行t/mytest.t。运行多个测试时,每个测试将接收相同的参数。
因此,::之后的部分将出现在测试脚本的@ARGV中。

my $url = $ARGV[0] // $ENV{'TEST_URL'};

相关问题