1) Agreed. 
2) Actually, checking the error message is required for passing the test when there are multiple unused parameters. If I have one unused parameter, the test will pass by just using "smell_of(UnusedParameters)". But it is not enough for passing the test when multiple parameters are unused.
I think it is cleaner to always check the error message when expecting a failed test, so I'll include the error message checking in tests.