Some similar ideas to vitest, probably also powered by Vite:
// MyComponent.tsx
export function MyComponent() {
// ...
}
// in-file snapshots
if (import.meta.env.snapshot) {
const {snapshot: defaultSnapshot} = await import('@lemonmade/react-snapshots');
// Like my testing library
const snapshot = defaultSnapshot.extend({
render: (element) => <AdditionalContext>{element}</AdditionalContext>,
});
snapshot('default', () => <MyComponent />);
}
// ===
// MyComponent.snapshots.tsx
import {snapshot} from '@lemonmade/react-snapshots';
import {MyComponent} from './MyComponent.tsx';
snapshot('primary', () => <MyComponent primary />);
snapshot('subdued', () => <MyComponent subdued />);
Some similar ideas to vitest, probably also powered by Vite: