如何测试是否在bats-assert框架中设置了env变量?

时间:2019-04-09 22:20:45

标签: bash shell environment-variables bats-core

我正在使用具有bats-assert和bats-support的BATS测试框架。

我想确保用户记得正确设置ELASTIC_CREDS env变量。我怎么做?这是我尝试过的:

config.bash
export SYSTEM_CREDS=myuser:mypass

然后,我的checkcreds.bats测试fike看起来像这样:

checkcreds.bats
#! ./libs/bats/bin/bats
load 'libs/bats-support/load'
load 'libs/bats-assert/load'
load 'config'

@test 'assert_system_creds()' {
  run env | grep SYSTEM_CREDS | awk -F= '{print$2}'
  assert_output --regexp '^.*:.*$'
}

1 个答案:

答案 0 :(得分:2)

此表达式可以正常工作:

@test 'check_env_vars()' { 
  run : ${SYSTEM_CREDS?"Need to set SYSTEM_CREDS"} 
  assert_success 
}