The reason that the test should check the contents of the error is in the case that something else breaks and raises the same class of error. In that case these tests would continue to pass because the right type of exception was raised, but the actual failure is masked because we're not checking the error message. While it might be incredibly common for this to happen, it makes the tests more robust  and catches more regressions.