CtrlK
BlogDocsLog inGet started
Tessl Logo

testland/docker-compose-tests

Authors a `compose.test.yaml` for tests - declares the SUT plus its real backing services as one declarative topology, wires healthcheck-driven `depends_on: condition: service_healthy` start ordering, isolates parallel CI jobs via per-job `--project-name`, gates the test step on `--wait` / `--wait-timeout` / `--exit-code-from`, and tears the stack down deterministically with `down --volumes --remove-orphans`. Use when the test environment is multi-service (app + db + cache + queue) and the topology is best expressed in YAML rather than imperative test code.

80

Quality

100%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Low

Low-risk findings worth noting

Overview
Quality
Evals
Security
Files

compose-flags.mdreferences/

Compose flag reference for tests

Source docs: compose CLI reference, compose up, compose services schema.

depends_on conditions

ConditionMeaning
service_startedContainer has been created and started (default - usually wrong for tests).
service_healthyDependency's healthcheck succeeded - the right choice for DBs / queues / app.
service_completed_successfullyDependency ran to completion and exited 0 - for one-shot init / migration containers.

up flags (gate on readiness)

FlagEffect
--wait"Wait for services to be running|healthy. Implies detached mode."
--wait-timeout <seconds>"Maximum duration in seconds to wait for the project to be running|healthy"
--abort-on-container-exit"Stops all containers if any container was stopped." (Foreground.)
--abort-on-container-failure"Stops all containers if any container exited with failure."
--exit-code-from <service>"Return the exit code of the selected service container. Implies --abort-on-container-exit."

down flags (teardown)

FlagEffect
--volumes / -vRemove named volumes declared in the compose file. Without this, DB state persists across runs and the next run sees stale data.
--remove-orphansRemove containers for services not defined in the current file. Defends against renamed services leaving stragglers.

SKILL.md

tile.json