run-acceptance-tests
Guide for running acceptance tests for a Terraform provider. Use this when asked to run an acceptance test or to run a test with the prefix `TestAcc…
它会碰到什么
逐条看命中(1 条严重或高危)
- 严重
SKILL.md:30cred-paths- Check the repository's README, CONTRIBUTING, or `.env.example` for
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
An acceptance test is a Go test function with the prefix TestAcc.
Before running: acceptance tests create real infrastructure against the
provider's live API, which may incur cost. Confirm the configured
credentials point at a test account before proceeding.
To run a focused acceptance test named TestAccFeatureHappyPath:
- Run
go test -run=TestAccFeatureHappyPath -timeout 60mwith the
following environment variables:
TF_ACC=1
Default to non-verbose test output. Always pass an explicit -timeout:
go test kills any test run after 10 minutes by default, and acceptance
tests routinely exceed that.
- The acceptance tests may require additional environment variables for
specific providers. To discover which ones:
- Read the test's
PreCheck/testAccPreCheckfunction and search the
test files: grep -rn "os.Getenv" --include="*_test.go".
- Check the repository's README, CONTRIBUTING, or
.env.examplefor
documented test setup.
- The provider's
Configuremethod shows how credentials are resolved;
use the provider-configuration skill (if available) to understand a
credential provider chain.
Set the variables for the single test invocation
(EXAMPLE_API_KEY=... TF_ACC=1 go test ...) rather than exporting them
into the shell profile, and never write secret values into files inside
the repository.
To diagnose a failing acceptance test, use these options, in order. These
options are cumulative: each option includes all the options above it.
- Run the test again. Use the
-count=1option to ensure thatgo testdoes
not use a cached result.
- Offer verbose
go testoutput. Use the-voption. - Offer debug-level logging. Enable debug-level logging with the environment
variable TF_LOG=debug.
- Offer to persist the acceptance test's Terraform workspace. Enable
persistence with the environment variable TF_ACC_WORKING_DIR_PERSIST=1.
A passing acceptance test may be a false negative. To "flip" a passing
acceptance test named TestAccFeatureHappyPath:
- Edit the value of one of the TestCheckFuncs in one of the TestSteps in the
TestCase.
- Run the acceptance test. Expect the test to fail.
- If the test fails, then undo the edit and report a successful flip. Else,
keep the edit and report an unsuccessful flip.
If a test run is interrupted, real resources may be left behind; run the
provider's sweepers if it registers them (see the provider-test-patterns
skill's sweeper reference, if available). For writing or restructuring
tests, use the provider-test-patterns skill.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
plugins/terraform/skills/run-acceptance-tests/SKILL.md