Completely in memory
Don't skip
One test method - one assertion
Use strongest assertion possible
strongest
strong
weak
non-existent
…
Use most appropriated assertion methods
Use exact matching when using mocking parameter
Name unit tests using a convention
test and production classes should be in one package
test and production code separation
No println's in tests
No constructors → @Before instead
Don't use static members
No own catch blocks to fail a test
No own catch blocks to pass a test
No own catch blocks to print stack traces
No methods in Test classes that throws any particular type of exception
Don't use Thread.sleep()
No indirect tests