web-renderer-test
对Web渲染器进行视觉快照测试,使用Vitest框架,确保渲染效果的一致性,用于前端组件的回归测试。
npx skills add https://github.com/remotion-dev/remotion --skill web-renderer-testBefore / After 效果对比
1 组前端组件更新后,难以手动检查所有视觉效果是否一致。回归测试耗时且易遗漏视觉缺陷。
使用Vitest进行视觉快照测试,自动检测渲染差异。确保前端组件视觉一致性,提升测试效率。
web-renderer-test
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:
import {AbsoluteFill} from 'remotion';
const Component: React.FC = () => {
return (
<AbsoluteFill
style={{
justifyContent: 'center',
alignItems: 'center',
}}
>
<div
style={{
backgroundColor: 'red',
width: 100,
height: 100,
borderRadius: 20,
}}
/>
</AbsoluteFill>
);
};
export const backgroundColor = {
component: Component,
id: 'background-color',
width: 200,
height: 200,
fps: 25,
durationInFrames: 1,
} as const;
The corresponding test looks like this:
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
-
Add a new fixture in
packages/web-renderer/src/test/fixtures. -
Important: Add the fixture to
packages/web-renderer/src/test/Root.tsxto add a way to preview it. -
Add a new test in
packages/web-renderer/src/test. -
Run
bunx vitest src/test/video.test.tsxto execute the test. -
Important: Update
packages/docs/docs/client-side-rendering/limitations.mdxto reflect the newly supported property.
Weekly Installs394Repositoryremotion-dev/remotionGitHub Stars39.9KFirst SeenJan 20, 2026Security AuditsGen Agent Trust HubPassSocketPassSnykPassInstalled onclaude-code343gemini-cli287opencode287cursor281codex269antigravity225
用户评价 (0)
发表评价
暂无评价
统计数据
用户评分
为此 Skill 评分