如何通过证明(测试::更多)一个参数,例如API URL



我的测试套件的部分依赖于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'};

相关内容

  • 没有找到相关文章

最新更新