One of the core objectives of Python is to bring in speed of development where developers can implement functional requirements in the shortest possible time and with fewer lines of code, which is in sync and embraces popular development models such as Agile (http://en.wikipedia.org/wiki/Agile_software_development) or Extreme Programming (http://en.wikipedia.org/wiki/Extreme_programming).
But at the same time it is also important to ensure that adding new code does not break the integrity of the system. This is only possible with an efficient/effective set of automated unit test cases.
Unit testing is an important aspect of any development lifecycle. It not only involves testing the expected outcome but at the same time it also tests unexpected conditions/scenarios and the behavior of the system.
Unit tests are an integral part of any test strategy. They are intended to break the entire codebase into several pieces and ensure that each piece or unit of work is producing the expected...