Use error message with numpy.testing.assert_raises()
These functions are implemented in numpy/testing/utils.py.  Studying that code may be your best option.
I see that assert_raises passes the task on to nose.tools.assert_raises(*args,**kwargs).  So it depends on what that does.  And if I recall use of this in other modules correctly, you are usually more interested in the error message raised by the Error, as opposed to displaying your own.  Remember, unittests are more for your own diagnostic purposes, not as a final user-friendly tool.
assert_equal is a complex function that tests various kinds of objects, and builds the error message accordingly.  It may including information of the objects.
Choices in this part of the code were determined largely by what has been useful to the developers.  They are written primarily to test the numpy code itself.  So being systematic is not a priority.
Contrary to np.testing.assert_equal(), np.testing.assert_raises() does not accept an err_msg parameter. Is there a clean way to display an error message when this assert fails?
More generally, why do some assert_* methods accept this parameter, while some others don't?