run-acceptance-tests

tarafından hashicorp

Terraform sağlayıcıları için yapılandırılmış sorun giderme ile Go kabul testlerini çalıştırın ve teşhis edin. TF_ACC=1 ortam değişkeni ile go test -run=TestAccFeatureHappyPath kullanarak odaklanmış kabul testlerini çalıştırın. Hataları aşamalı olarak teşhis edin: -count=1 ile yeniden deneyin, -v ile ayrıntılı çıktıyı etkinleştirin, TF_LOG=debug ile hata ayıklama günlüğünü etkinleştirin ve TF_ACC_WORKING_DIR_PERSIST=1 ile Terraform çalışma alanını kalıcı hale getirin. Bir TestCheckFunc'ı kasıtlı olarak bozarak, testi yeniden çalıştırarak test gü

npx skills add https://github.com/hashicorp/agent-skills --skill run-acceptance-tests

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:

  1. Run go test -run=TestAccFeatureHappyPath -timeout 60m with 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.

  2. The acceptance tests may require additional environment variables for specific providers. To discover which ones:

    • Read the test's PreCheck / testAccPreCheck function and search the test files: grep -rn "os.Getenv" --include="*_test.go".
    • Check the repository's README, CONTRIBUTING, or .env.example for documented test setup.
    • The provider's Configure method 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.

  1. Run the test again. Use the -count=1 option to ensure that go test does not use a cached result.
  2. Offer verbose go test output. Use the -v option.
  3. Offer debug-level logging. Enable debug-level logging with the environment variable TF_LOG=debug.
  4. 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:

  1. Edit the value of one of the TestCheckFuncs in one of the TestSteps in the TestCase.
  2. Run the acceptance test. Expect the test to fail.
  3. 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.

hashicorp tarafından daha fazla skill

provider-framework-migration
hashicorp
Terraform sağlayıcı kaynaklarını ve veri kaynaklarını Plugin SDKv2'den Plugin Framework'e taşıyın: her iki eklentiyi tek bir sağlayıcıda birleştirme (terraform-plugin-mux,…
provider-configuration
hashicorp
Terraform sağlayıcı yapılandırmasını ve kimlik doğrulamasını Plugin Framework ile uygulayın: kimlik bilgileri için sağlayıcı şeması (Optional + Sensitive öznitelikleri),…
provider-ephemeral-resources
hashicorp
Terraform sağlayıcı geçici kaynaklarını Plugin Framework ile uygulayın: Open/Renew/Close yaşam döngüsü, geçici şema tasarımı, kayıt işlemi…
terraform-test
hashicorp
Terraform testlerini yazma ve çalıştırma için kapsamlı rehber; assertion'lar, mocking ve modül doğrulama ile birlikte. .tftest.hcl sözdizimini kullanarak plan veya apply modunda çalışan run blokları ile test dosyaları yazın; sıralı ve paralel yürütmeyi, isteğe bağlı durum izolasyonu ile destekler. Kaynak nitelikleri, çıktılar ve veri kaynakları üzerinde koşulları assert edin; geçersiz girdilerin düzgün bir şekilde reddedildiğini doğrulamak için expect_failures kullanın. Mock sağlayıcılar (Terraform 1.7.0+) altyapı davranışını simüle eder...
terraform-policy
hashicorp
Terraform Policy dosyalarını yazın, test edin veya dönüştürün (.policy.hcl, .policytest.hcl, Sentinel→tfpolicy). Tetikleyiciler: policy.hcl, policytest, convert sentinel, tfpolicy,…
terraform-search-import
hashicorp
Mevcut bulut kaynaklarını Terraform Search sorguları kullanarak keşfedin ve bunları toplu olarak Terraform yönetimine aktarın. Yönetilmeyen altyapıyı dahil ederken kullanın…
aws-ami-builder
hashicorp
Packer'ın amazon-ebs builder'ı ile özel Amazon Machine Images oluşturun. HCL şablonları kullanarak kaynak AMI'lerden AMI oluşturmayı otomatikleştirir; özelleştirme için provisioner'lar (shell betikleri, dosya yükleme, yapılandırma yönetimi) içerir. ami_regions ile çoklu bölge AMI dağıtımını ve kaynak AMI'lerin ad, sahip ve sanallaştırma türüne göre esnek filtrelenmesini destekler. Ortam değişkenleri, AWS kimlik bilgileri dosyası veya IAM örnek profilleri aracılığıyla kimlik doğrulaması yapar; şablon için doğrulama ve derleme komutlarını içerir...
tfctl
hashicorp
HCP Terraform / Terraform Cloud / Terraform Enterprise ile tfctl CLI kullanarak etkileşim kurun. Tam API kapsamı. HERHANGİ bir HCP Terraform veya Terraform Cloud veya…