test-environment

Run unit, integration, and end-to-end tests in isolated containers.

1|1|Updated Jun 28, 2025
One-click install
npx skills add https://github.com/DarkMonkDev/WitchCityRope --skill test-environment
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: test-environment
Source: https://github.com/DarkMonkDev/WitchCityRope/tree/main/.claude/skills/test-environment
Command: npx skills add https://github.com/DarkMonkDev/WitchCityRope --skill test-environment

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires docker, docker-compose, psql, jq, node, playwright, npx.

What problem does it solve?

This Skill runs unit, integration, and end-to-end tests in isolated containers, preventing interference with development work and ensuring clean, repeatable results.

Core Features & Use Cases

  • Complete isolation: Separate test databases and containers from dev.
  • All test types: Supports .NET unit and integration tests and Playwright E2E tests.
  • Automatic cleanup: Containers and images are removed after runs to avoid leftovers.

Quick Start

Run E2E tests by default:

  • bash .claude/skills/test-environment/execute.sh

Run all tests:

  • bash .claude/skills/test-environment/execute.sh --mode all

Keep containers for debugging:

  • bash .claude/skills/test-environment/execute.sh --mode e2e --keep-containers

Frequently Asked Questions about test-environment

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I run tests in isolated containers to prevent interference?

Run tests in isolated containers by executing the Skill's script, which provisions separate test databases and containers, runs your unit, integration, and end-to-end tests independently, then cleans up automatically. This prevents test interference and ensures repeatable results without affecting your development environment.

Can I run Playwright E2E tests and .NET tests together in containers?

Yes. The Skill supports both .NET unit and integration tests alongside Playwright E2E tests in the same isolated container setup. Use `--mode all` to run all test types sequentially in fresh, separate containers with dedicated test databases.

What happens to containers and images after tests complete?

Containers and images are automatically removed after test runs to prevent leftovers and resource bloat. Use the `--keep-containers` flag if you need to preserve containers for debugging or inspection after test execution.

When should I use container-isolated testing instead of running tests locally?

Use container isolation when dev containers are busy, test isolation is critical for reliability, or you need guaranteed clean environments. It's essential for integration and end-to-end tests where test order or state dependencies could cause failures in shared environments.

What tools and platforms does this Skill require?

The Skill requires Docker, Docker Compose for orchestration, Node.js and npm for Playwright, psql for database operations, jq for JSON processing, and .NET for unit and integration tests. All dependencies must be installed and accessible in your environment.

How do I verify that test containers are healthy before running tests?

The Skill includes automated health-checks during container startup to ensure databases and services are ready before tests execute. This prevents flaky tests caused by services not fully initialized and is handled automatically without manual intervention.