Moved all docs from ./docs/ to ./web/documentation/ to be available on the website. No code changes. (0.40.5)
This commit is contained in:
parent
8f2847abfb
commit
567fa73796
224 changed files with 4584 additions and 1139 deletions
50
web/documentation/writing-tests.md
Normal file
50
web/documentation/writing-tests.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
layout: page
|
||||
published: true
|
||||
noToc: true
|
||||
noComments: false
|
||||
noDate: false
|
||||
title: Fun - Writing Tests
|
||||
subtitle: How to author new tests for Fun and opcode components.
|
||||
description: How to author new tests for Fun and opcode components.
|
||||
permalink: /documentation/writing-tests/
|
||||
lang: en
|
||||
tags:
|
||||
- documentation
|
||||
- handbook
|
||||
- installation
|
||||
- usage
|
||||
- introduction
|
||||
- help
|
||||
- guide
|
||||
- howto
|
||||
- docs
|
||||
- specifications
|
||||
- specs
|
||||
- repl
|
||||
---
|
||||
|
||||
# Writing Tests
|
||||
|
||||
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.
|
||||
Loading…
Add table
Add a link
Reference in a new issue