我正在编写一个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 在测试之间重新生成。有没有办法/地方让我存储将在所有测试中持续存在的变量?