npm install -D @testing-library/react vitest jsdom
Use snapshot testing to catch unintended UI regressions in React components.
1 import React from 'react'; 2 3 interface ButtonProps { 4 variant: 'primary' | 'secondary' | 'ghost' | 'danger'; 5 label: string; 6 disabled?: boolean; 7 size?: 'sm' | 'md' | 'lg'; 8 onClick?: () => void; 9 } 10 11 export function Button({ variant, label, disabled, size = 'md', onClick }: ButtonProps) { 12 const classes = [ 13 'btn', 14 `btn-${variant}`, 15 `btn-${size}`, 16 disabled ? 'btn-disabled' : '', 17 ].filter(Boolean).join(' '); 18 19 return ( 20 <button 21 className={classes} 22 disabled={disabled} 23 onClick={onClick} 24 data-testid="button" 25 > 26 {label} 27 </button> 28 ); 29 }
.snap file created; tests pass; intentional change detected and updated
Sign in to share your feedback and join the discussion.