1
0
Fork 0
forked from fun/fun
fun/web/documentation/writing-tests/writing-tests.md

1.2 KiB

layout published noToc noComments noDate title subtitle description permalink lang tags
page true false false false Writing Tests How to author new tests for Fun and opcode components. How to author new tests for Fun and opcode components. /documentation/writing-tests/ en
author
components
new
opcode
tests
writing

How to author tests for Fun and its opcode implementations.

Test kinds

  • VM/opcode tests: exercise bytecode operations and VM behavior (target: test_opcodes).
  • Language/runtime tests: exercise user-visible features and stdlib behavior (target: fun_test).

See documentation/testing.md for how to build and run these targets with CTest.

Adding new tests

The exact layout may evolve; generally:

  • Add new test sources alongside existing ones used by fun_test.
  • For opcode-focused tests, add cases where test_opcodes discovers them.

Aim for:

  • Small, isolated test cases with clear assertions
  • One behavior per test; descriptive names
  • Minimal fixtures and setup

Guidelines

  • Prefer black-box testing via public APIs.
  • When adding features, include both positive and negative cases.
  • Keep tests deterministic; avoid non-deterministic timers or random sources unless seeded.