NO RESERVED DIRECTORY
Keep intent close
Choose a folder that makes the tested contract easy to find. Dowe does not reserve test or tests.
DEVELOPMENT / TESTING
Native project tests
Place literal Dowe tests wherever they best describe the contract. Dowe discovers them without requiring a test folder or a filename convention.
Open Agent docs
UNRESTRICTED PLACEMENT
Use the folder that fits the project
A test-only .dowe file can be below verification, checks, test, or any other project directory. The runner scans eligible Dowe files and executes only files that declare tests.
verification/release/metadata.dowe
checks/theme-contract.dowe
test/navigation.doweNO RESERVED DIRECTORY
Keep intent close
Choose a folder that makes the tested contract easy to find. Dowe does not reserve test or tests.
SAFE DISCOVERY
Ignore managed output
Discovery skips .agents, .dowe, .git, target, and node_modules.
DETERMINISTIC
Sort before running
Cases run by relative path and then source order for stable reports.
LITERAL ASSERTIONS
Start with deterministic contracts
Tests use a quoted name and direct assert declarations. Equal compares Dowe literals structurally without evaluating application code.
test "release metadata"
assert true value:true
assert false value:false
assert equal actual:{ name:"dowe" channels:["stable", "canary"] } expected:{ name:"dowe" channels:["stable", "canary"] }assert true
Passes only when value is exactly true.
assert false
Passes only when value is exactly false.
assert equal
Compares strings, numbers, booleans, null, arrays, and objects exactly.
RUNNER
Run all tests or select a path
Use JSON for agents and CI. A failed assertion returns a non-zero status with its source location.
dowe test
dowe test verification
dowe test checks/theme-contract.dowe
dowe test --jsonThis first native runner does not execute views, handlers, HTTP, databases, or target runtime code. Use target-specific validation alongside literal tests when a contract needs runtime behavior.