title: Show expected and actual values for assertion failures
body: <p>When writing assertions for my tests, the assertion failures don't provide enough information without needing to open an IDE and start debugging.</p>
  
  <p>For example, I have some code that uses the 'assert' library:</p>
  
  <pre><code>import * as assert from 'assert'
  
  // some code
  
  assert(someObject.getValue() === 0)
  </code></pre>
  
  <p>I just get</p>
  
  <pre><code>       AssertionError [ERR_ASSERTION]: false == true
             + expected - actual
  
             -false
             +true
  </code></pre>
  
  <p>This error message isn't really meaningful. As a workaround, I added it in the message in the assertion:</p>
  
  <pre><code>assert(someObject.getValue() === 0, 
         '\nActual: ' + someObject.getValue() + 
         '\nExpected: ' + 0)
  </code></pre>
  
  <p>Is there a better, cleaner way to just show the expected &amp; actual values without overriding the message on every assertion? I also tried to create an <code>assert</code> wrapper, but I wasn't able to extract the actual and expected values from the expression.</p>
  
  <p>EDIT: <code>assert.strictEqual</code> resolves this issue for equalities only. But as soon as any other operator is included, then we have the same issue (e.g. <code>assert(someObject.getValue() &gt; 0)</code></p>
  
  <p>Any advice would be appreciated.</p>
  
  <p>Thanks!</p>