Files
pkgs.lux/packages/testing/README.md
Brandon Lucas 3df037cebb feat: initialize Lux package registry
- Add registry README with API documentation
- Add initial packages: json, http-client, testing
- Add package index.json for registry server

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-15 04:35:00 -05:00

57 lines
1.5 KiB
Markdown

# testing
Testing utilities and assertions for Lux.
## Installation
```bash
lux pkg add testing 0.1.0
```
## Usage
```lux
import testing
fn testMyFunction(): Unit with {Console, Test} = {
testing.describe("MyFunction", fn() => {
testing.it("should return correct value", fn() => {
let result = myFunction(5)
testing.assertEqual(result, 10, "5 * 2 should be 10")
})
testing.it("should handle edge cases", fn() => {
let result = myFunction(0)
testing.assertEqual(result, 0, "0 * 2 should be 0")
})
})
}
```
## Assertions
| Function | Description |
|----------|-------------|
| `assert(cond, msg)` | Assert condition is true |
| `assertEqual(a, b, msg)` | Assert two values are equal |
| `assertSome(opt, msg)` | Assert Option is Some |
| `assertNone(opt, msg)` | Assert Option is None |
| `assertOk(result, msg)` | Assert Result is Ok |
| `assertErr(result, msg)` | Assert Result is Err |
| `assertEmpty(list, msg)` | Assert list is empty |
| `assertLength(list, n, msg)` | Assert list has length n |
| `assertContains(s, sub, msg)` | Assert string contains substring |
| `assertStartsWith(s, pre, msg)` | Assert string starts with prefix |
| `assertEndsWith(s, suf, msg)` | Assert string ends with suffix |
## Test Structure
| Function | Description |
|----------|-------------|
| `describe(name, tests)` | Group related tests |
| `it(desc, test)` | Define individual test |
## License
MIT