This definitely has a valid use case for tests. Usually we use lots of unwrap or expect in tests (including doc tests), which is different than writing library or application code, where unwrap/expect are a deliberate choice for unexpected situations that should never happen.
So the current situation in tests with many unwraps is indeed a distraction, for example it prevents grepping all unwrap calls to have a small list of where unwrap is used in library/application code.
And the name evil for this crate is nicely chosen.
But I'm not sure whether I will use this in my crates before Try stabilizes, because I like to run tests also on the stable tool chain. Maybe if we could find a way to have a (degraded) stable equivalent?
I think the stable equivalent would have to be a proc macro that actually, literally translates ? into unwrap. It might not be as bulletproof though (e.g. it can't enter into closures, just in case; whereas inference can automatically decide when to affect a closure or not).
I have actually moved away from using unwrap() or expect() in tests. Applying Rust error handling in tests makes them more maintainable and also ensures that, in the event of errors in tests, it becomes clearer where something has gone wrong in the source code. The most important thing is that it works.