金色时刻 · 15:48
让好资源,触手可及
AGENT SKILL

test-with-spanner

test-with-spanner 是面向测试与安全、数据与分析的 Agent Skill,来自 storj/storj。查看技能说明、操作步骤与使用约定,并通过原项目了解详细用法。

Run unit tests that require the Spanner emulator. Use this skill when the user wants to run tests in packages like satellite/metabase, satellite/metainfo, or any other tests that interact with Spanner. Automatically handles checking for and configuring the Spanner emulator environment.

SKILL.md

下载 MD ↓
nametest-with-spanner
descriptionRun unit tests that require the Spanner emulator. Use this skill when the user wants to run tests in packages like satellite/metabase, satellite/metainfo, or any other tests that interact with Spanner. Automatically handles checking for and configuring the Spanner emulator environment.
allowed_toolsgo
allowed_prompts[{"tool": "Bash", "prompt": "run unit tests with spanner"}]

Run Unit Tests with Spanner

You are helping run unit tests that require the Spanner emulator.

Instructions

The Storj test framework automatically manages the Spanner emulator lifecycle using the run: prefix in the STORJ_TEST_SPANNER environment variable. To run tests automatically spanner_emulator binary needs to be on PATH.

Running Tests

  1. If test name is provided in arguments: - Find the package containing the test using Grep - Run the test with the auto-managed emulator

  2. If only package path is provided: - Run all tests in that package with the auto-managed emulator

  3. Command format: bash STORJ_TEST_SPANNER='run:spanner_emulator' go test -v ./package/path -run TestName

The run: prefix tells the test framework to: - Automatically start the Spanner emulator before tests - Configure the connection for each test - Clean up and stop the emulator after tests complete

  1. Report test results: - Show whether tests passed or failed - List all subtests that ran - If tests failed, offer to help investigate the failures

Common test paths

Some common test paths in the Storj codebase: - ./satellite/metabase - Metabase tests - ./satellite/metainfo - Metainfo API tests - ./satellite/satellitedb - Database tests

Example Usage

# Run a specific test
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v ./satellite/metainfo -run TestEndpoint_Object_No_StorageNodes

# Run all tests in a package
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v ./satellite/metabase

# Run tests with timeout
STORJ_TEST_SPANNER='run:spanner_emulator' go test -v -timeout 10m ./satellite/metabase -run TestLoop

Notes

  • Each test gets its own emulator instance that's automatically managed
  • No manual cleanup is required - the framework handles emulator lifecycle
  • The run: prefix is the recommended approach used in Storj's CI/CD (see Jenkinsfile.verify and Jenkinsfile.public)
  • Alternative: If STORJ_TEST_SPANNER is already set to a running emulator, tests will use that instead

来源:storj/storj · GPL 许可 · 许可原文 · MD 为来源页保存的历史版本