Write Bats Test

Add or extend a bats-core test for the shell scripts, following the tests/ convention. Use when changing setup.sh or context.sh behavior.

dailybothq b9c7870 1.2 KB Updated

File contents

Write Bats Test

Goal

Cover new or changed shell behavior with a bats-core test that matches the existing convention in tests/.

When to use

When setup.sh or skills/deepworkplan/shared/context.sh gains or changes behavior (a new flag, a new detection branch, a new output field).

Steps

  1. Read the existing tests to match style and helpers: tests/setup-sh.bats, tests/context-sh.bats.
  2. Add @test cases for the new behavior. Use a throwaway HOME/temp dir for any filesystem effect so the suite never touches the developer's ~/.claude.
  3. Keep assertions on observable contract: emitted JSON fields from context.sh, created symlink names from setup.sh, exit codes.
  4. Run bats tests/ and iterate until green.

Validation

bats tests/ passes, including the new cases, and the suite leaves no artifacts outside its temp dirs.

Notes

Tests must run on bash 3.2. Prefer testing the public contract (flags, symlink names, JSON keys) over internal implementation so refactors don't churn the suite.

dailybothq/deepworkplan-skill/tree/main/.agents/skills/write-bats-test commit b9c7870a54

Frequently asked questions

npx skillmds@latest add dailybothq/write-bats-test