I remember reading in a book that in tests, you generally want to be concrete, not abstract. For example, you'd like to do:<p><pre><code> assert(response.status == 401)
assert(error == "param 'foo' is invalid")
</code></pre>
instead of:<p><pre><code> assert(response.status == Http.StatusUnauthorized)
assert(error == HttpError.InvalidParameter("foo"))
</code></pre>
Can anyone point me to resources (books, posts, tweets, whatever) that better illustrate this and justify it?