> ## Documentation Index
> Fetch the complete documentation index at: https://rive.app/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Tester

Provides functions for defining test cases and organizing them into groups.

## Methods

### `case`

<div class="signature">
  ```lua theme={null}
  case(name: string, test: (expect:(value: any) -> Expectation) ->()) -> ()
  ```
</div>

Defines a named test case. The callback receives an `expect` function
used to create expectations on a value.

```lua theme={null}
case("adds two numbers", function(expect)
  local result = 2 + 3
  expect(result).is(5)
end)
```

### `group`

<div class="signature">
  ```lua theme={null}
  group(name: string, test: () ->()) -> ()
  ```
</div>

Groups related test cases under a common name. Nested groups are supported.

```lua theme={null}
group("Math utilities", function()
  case("adds numbers", function(expect)
    expect(2 + 2).is(4)
  end)

  case("multiplies numbers", function(expect)
    expect(3 * 4).is(12)
  end)
end)
```

### `blob`

<div class="signature">
  ```lua theme={null}
  blob(name: string) -> Blob?
  ```
</div>

Looks up a blob asset in the file by name, or nil when missing.

```lua theme={null}
local data = test.blob("fixtures")
```
