bash – BATS:在所有测试中使变量持久化
发布时间:2020-12-15 17:02:44 所属栏目:安全 来源:网络整理
导读:我正在编写一个 BATS(Bash自动化测试系统)脚本,我想要的是一个变量,可以在所有测试中保持不变.例如: #!/usr/bin/env bats# Generate random port numberport_num=$(shuf -i 2000-65000 -n 1)@test "Test number one" { a = $port_num}@test "Test number tw
我正在编写一个
BATS(Bash自动化测试系统)脚本,我想要的是一个变量,可以在所有测试中保持不变.例如:
#!/usr/bin/env bats # Generate random port number port_num=$(shuf -i 2000-65000 -n 1) @test "Test number one" { a = $port_num } @test "Test number two" { b = $port_num } 评估时,a和b应该相等.但这不起作用,因为(根据文档)在每次测试运行后评估整个文件.这意味着$port_num在测试之间重新生成.我是否有办法/地方存储将在所有测试中保留的变量?
将其导出为环境变量.
# If ENV Var $port_num doesn't exist,set it. if [ -z "$port_num" ]; then export port_num=$(shuf -i 2000-65000 -n 1) fi 在BATS中,您必须调用load来获取文件. 将上面的代码放在正在执行的目录中名为port.bash的文件中. 然后在您的功能之前,调用加载端口.这将设置您的$port_num一次,而不是更改它. load port @test "Test number one" { a = $port_num } @test "Test number two" { b = $port_num } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在Angular2中获取服务的域名
- Bootstrap学习方法及案例分享
- AngularJS在View中声明具有初始值的变量?
- bash – 在“$@”中的最后一个参数之前提取参数
- 单元测试 – 有没有办法分批处理Karma – Angular单元测试?
- wraper for bootstrap3.0 + simple_form
- Alpha冲刺(8/10)——追光的人
- twitter-bootstrap-3 – 什么是在Bootstrap 3.1中使用的.ma
- angular – Path“/ngsw-config.json”已经存在
- Advanced Programming in UNIX Environment Episode 17