🎯

web-renderer-test

🎯Skill

from remotion-dev/remotion

VibeIndex|
What it does

Renders and tests web-based React components using visual snapshot testing with Vitest for the web renderer.

web-renderer-test

Installation

Install skill:
npx skills add https://github.com/remotion-dev/remotion --skill web-renderer-test
151
AddedJan 27, 2026

Skill Details

SKILL.md

Add a test case to the web renderer

Overview

The web renderer is in packages/web-renderer and the test suite is in packages/web-renderer/src/test.

It uses visual snapshot testing using vitest. A test file can for example be executed using:

```

bunx vitest src/test/video.test.tsx

```

Example

Each test is powered by a fixture in packages/web-renderer/src/test/fixtures.

A fixture looks like this for example:

```tsx

import {AbsoluteFill} from 'remotion';

const Component: React.FC = () => {

return (

style={{

justifyContent: 'center',

alignItems: 'center',

}}

>

style={{

backgroundColor: 'red',

width: 100,

height: 100,

borderRadius: 20,

}}

/>

);

};

export const backgroundColor = {

component: Component,

id: 'background-color',

width: 200,

height: 200,

fps: 25,

durationInFrames: 1,

} as const;

```

The corresponding test looks like this:

```tsx

import {test} from 'vitest';

import {renderStillOnWeb} from '../render-still-on-web';

import {backgroundColor} from './fixtures/background-color';

import {testImage} from './utils';

test('should render background-color', async () => {

const blob = await renderStillOnWeb({

licenseKey: 'free-license',

composition: backgroundColor,

frame: 0,

inputProps: {},

imageFormat: 'png',

});

await testImage({blob, testId: 'background-color'});

});

```

Adding a new test

  1. Add a new fixture in packages/web-renderer/src/test/fixtures.
  2. Important: Add the fixture to packages/web-renderer/src/test/Root.tsx to add a way to preview it.
  3. Add a new test in packages/web-renderer/src/test.
  4. Run bunx vitest src/test/video.test.tsx to execute the test.