Skip to content

Overview

The pixi-solid/testing module provides utilities for testing pixi-solid components and hooks without a live canvas:

import {
mountScene,
createTestRoot,
createTestContext,
createManualTicker,
getByLabel,
queryByLabel,
getAllByLabel,
cleanup,
} from "pixi-solid/testing";

// Component tests — renders a Pixi display object
mountScene(() => <Container>...</Container>)
// => { container: Pixi.Container, dispose: () => void }
// Hook/store tests — no scene rendering
createTestRoot(() => <ctx.Provider>{usePixiScreen()}</ctx.Provider>)
// => { value: Screen, dispose: () => void }
// Mock contexts
createTestContext()
// => { Provider, ticker: ManualTicker, renderer: TestRenderer, app: Pixi.Application }
// Manual frame advancement
createManualTicker()
// => { ticker: Pixi.Ticker, fastForwardFrames(), fastForwardTime() }
// Scene graph queries
getByLabel(root, "label") // throws if not found
queryByLabel(root, "label") // returns undefined if not found
getAllByLabel(root, "label") // returns Pixi.DisplayObject[]
// Teardown (wire in afterEach)
cleanup()

TaskFunctionPage
Render a component scene graphmountScenemount-scene
Test a hook or store (no scene needed)createTestRootcreate-test-root
Get mock contextscreateTestContextcreate-test-context
Advance frames manuallycreateManualTickercreate-manual-ticker
Find a node by labelgetByLabel / queryByLabel / getAllByLabelscene-queries
Run all disposerscleanupcleanup

  • Pixel-level rendering is not tested — use a real canvas for integration tests
  • getContext() is not available — you'll see Not implemented: HTMLCanvasElement's getContext() warnings in test output, which is expected and harmless
  • The mock app is a minimal stub — only the parts used by pixi-solid hooks are implemented