Testing consists of the following.
A simple assert embodies step 2.
Everything else is syntactic sugar that introduces complexity and brittleness to your project. It's true that simple assert messages can be obtuse, but this is easily addressed with custom messages as Brian recommended. Also, odds are pretty good that you'll be adding a breakpoint and debugging the failure anyway.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.