what are the basic requirements for the unit testing?
A Unit test should be written to verify a single unit of code and not the integration. Small and isolated Unit tests with clear naming would make it very easy to write and maintain. Changing another part of the software should not affect the Unit test if those are isolated and written for a specific unit of code.