Before starting the work on Pythoscope we searched for tools that could do automatic test generation for Python code. There are many testing tools for Python on the market, and a lot of them are open source. Those tools include:
- test runners: nose, py.test, zope.testing,
- test doubles libraries: mock, python-mock, PyMock,
- code coverage tools: coverage, figleaf,
- debuggers: CodeInvestigator, pdb,
- code metrics and analysis tools: pylint, pychecker, pycallgraph, pymetrics,
and many others, but sadly none of them included a tool that could generate unit tests.
There is a tool for automatic unit test generation for Java code, developed by Agitar Technologies, called AgitarOne JUnit Generator. Huge differences between Python and Java, plus unavailability of the source code for AgitarOne, forced us to research and develop our own solution, unlike any other currently available on the market.