title: When to use expect.stringContaining instead of toContain for substring matching in Jest
body: <p>What's the use case to use <code>stringContaining</code> instead of just using <code>toContain</code> for substring matching with Jest?</p>
  <pre><code>it(&quot;tests with stringContaining&quot;, () =&gt; {
    expect(&quot;testerama&quot;).toEqual(expect.stringContaining(&quot;test&quot;))
  })
  it(&quot;tests with toContain&quot;, () =&gt; {
    expect(&quot;testerama&quot;).toContain(&quot;test&quot;)
  })
  </code></pre>
  <p>As far as I can see the behaviour is similar apart from that if the string is <code>null</code> or <code>undefined</code> the <code>stringContaining</code> error message is a bit clearer.</p>
  <pre><code>Expected: StringContaining &quot;test&quot;
  Received: null
  </code></pre>
  <p>as opposed to</p>
  <pre><code>Matcher error: received value must not be null nor undefined
  Received has value: null
  </code></pre>
  <p>It hardly seems worth it for the less terse code. Am I missing something?</p>