I’m going to talk about unit tests here, not any other kind of tests.
And unit tests have, in my opinion, the following list of criteria that they have to meet.
This list makes it hard to write tests for code that use external libraries, especially ones that manipulate time: Unit tests should be able to run on the developer’s machine as well as on the remote server Unit tests shouldn’t relate to timezone Each tested class (or component) should be tested independently from external libraries…