title: When should one use jest snapshot testing vs just regular assertions in unit test?
body: <p>This question is just about unit tests.</p>
  
  <p>Recently I've been reading a lot about snapshots and I'm really confused as to when exactly should I use snapshot testing vs just explicit assertions. I use react &amp; jest &amp; enzyme for unit testing </p>
  
  <p>As far as I understand it definitely makes sense to use snapshot testing:
  to check if the component rendered the way we expected it to with the expected props. That way we don't really have to have an assertion for each prop or each component that was rendered etc </p>
  
  <p>Questions: 
  1) But when it comes to user interactions like blur or click, there could be many cases. In that case does it make sense to have a snap for each of those testcases ? Say I have 10 different cases that I want to test for onBlur. Then does it make sense to have 10 different snaps for that? I know we can use serializers to filter out what we want to see on the snap but isn't just regular data driven test ( which contains input &amp; expected output provided by developer ) with a single assertion just better? </p>
  
  <p>2) How about when I have a component which in turn renders a couple of child components &amp; those child components render their children etc. In that case I mount &amp; then take the snapshot. That snap becomes really huge, Again I know we can tweak it by use of serializers. But really whats so great about snapshots in this case?  </p>
  
  <p>3) Isn't having too many snapshots in general a bad thing ? </p>
  
  <p>I also came across some fancy tools like jest-glamor-react etc which can be used to get the most out of snapshot testing. But really how do I figure out which scenario is best tested using snapshots &amp; which is best using regular assertions? I read a bunch of articles but some people are really impressed with snapshots but the examples are really basic. Some people are totally against it &amp; think plain old assertions are way better. Can someone please share their views ?</p>