I hate 3nd solution, I'm sure you should not do magic, like detecting something (take into account there is different unit testing frameworks with different attributes, so, you'll need detect NUnit/MSTest and other attributes, I dont think its good idea).
2nd solution, I dont see the reason why we need introduce new attribute, and how you going name it?
So, I'm voting for 1st solution.