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

1.2 KiB

layout published noToc noComments noDate title subtitle description permalink lang tags
page true false false false Fun - 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.