The way it's been explained to me is that because one assert failing blocks the other assertions from running you don't get a "full" picture of what went wrong.
So instead of:
- error W doesn't equal 20
Fix that
Run test again
- error H doesn't equal 10
Fix that
Run test again
It's
- Error Width doesn't equal 20
- Error Height doesn't equal 10
Fix both
Run test
I think the time savings are negligible though. And it makes testing even more tedious, as if people needed any additional reasons to avoid writing tests.
So instead of:
- error W doesn't equal 20
Fix that
Run test again
- error H doesn't equal 10
Fix that
Run test again
It's - Error Width doesn't equal 20
- Error Height doesn't equal 10
Fix both
Run test
I think the time savings are negligible though. And it makes testing even more tedious, as if people needed any additional reasons to avoid writing tests.