List All Pages

A part of the Pythoscope system responsible for gathering information about a legacy system. Design rules Source code of the system should be a main reference point. We should avoid having non-source…

As of now Pythoscope doesn't have any configuration mechanism. This page tracks different variables that may be part of the configuration, once implemented. new_test_modules_name_template A string…

Please change this page according to your needs

Usage You can use the tool through a single pythoscope command. To prepare your project for use with Pythoscope, type: $ pythoscope —init path/to/your/project/ It's only doing static analysis, and…

Information collected during dynamic analysis shouldn't include verbatim application objects. Instead, only relevant aspects of live objects should be remembered and contained within Pythoscope…

Easiest way to get Pythoscope is via setuptools: $ easy_install pythoscope You can also download a source package from pythoscope-0.4.3.tar.gz or get a copy of a development branch using bazaar: $…

Notes We may have potential garbage collection problems, as we'll be storing references to all function call inputs and outputs. We may unintentionally crash programs that work OK without tracing,…

General What is Pythoscope? Pythoscope is a unit test generator for programs written in Python. It means it can produce a test suite that captures current behavior of your application (so called…

See "Hard-to-Test Code" on xUnit Patterns and chapter 9 ("I can't get this class into a test harness") of "Working Effectively with Legacy Code". Cause: Highly Coupled Code Functions/methods that…

Use it The best way to contribute at this early point of development is to simply download and use the tool on your own or any other code you happen to have. After that let us know what you think, and…

If you are allowed to edit pages in this Site, simply click on edit button at the bottom of the page. This will open an editor. To create a link to a new page, use syntax: new page name or…

Bigger projects with lot of modules and objects inside them may spawn big pickle files (even 10 Mb are problematic), which makes pythoscope startup really slow. Problem with pickle is twofold: it's…

Static analysis Currently static analysis in Pythoscope is slow for (at least) three reasons: all files are inspected sequentially, instead of concurrently lib2to3 library we use for parsing Python…

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…

Each information should have its source defined (e.g. static, dynamic with an entry point listed), along with a time it was last updated. Or maybe even a history of all changes? We won't be able to…

One of the causes of a hard-to-test code listed by Gerard Meszaros in his book "xUnit Test Patterns" is highly coupled code. From the point of view of Pythoscope the problem is not so much on…

Update distribution files Update version in the pythoscope/init.py file and a download link in README. Update Changelog file with a list of changes since last release (consult the list of…

After this change Pythoscope should be able to trace this code: class Something: def some_method(self): self.attr = 42 and generate a following test case: def…

page 1 of 212next »
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License