Remove the requirement that a class containing tests be marked
- It's currently error-prone, as you might forget to mark your test class
public and the tests will quietly never run, giving a false sense of security.
- You never actually expect someone to consume a test class as a class, outside of the context of a unit testing framework. That is, it's not a public API in the normal sense.
- There's a nice (although uncommon) pattern where the unit tests for a class live in a nested class called
Test, like this: