SKILL.md
只读
名称
web-renderer-test
描述
为 Web 渲染器(web renderer)添加测试用例
Web 渲染器位于 packages/web-renderer,对应的测试套件位于 packages/web-renderer/src/test。
该套件基于 vitest 实现了视觉快照测试。若要运行某个测试文件,可以执行以下命令:
bunx vitest src/test/video.test.tsx
示例
每个测试用例均由 packages/web-renderer/src/test/fixtures 中的 fixture 驱动。
一个典型的 fixture 代码如下:
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;
对应的测试代码如下:
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'});
});
新增测试用例
- 在
packages/web-renderer/src/test/fixtures目录下新增一个 fixture。 - 重要:必须将新 fixture 补充到
packages/web-renderer/src/test/Root.tsx中,以便提供预览支持。 - 在
packages/web-renderer/src/test目录下编写并添加新的测试文件。 - 运行
bunx vitest src/test/video.test.tsx执行测试。 - 重要:同步更新
packages/docs/docs/client-side-rendering/limitations.mdx,在文档中体现新支持的属性。






