Skip to main content

Capture functions arguments and results to create a unit test file for that combination, to assist refactoring.

Project description

Create tests from current behaviour
Imagine you have to refactor a large, undocumented (hence untested!) python code base.

This utility captures this functionality by generating test cases during test executions of the code. This assists refactoring as the current expected behaviour has been captured.

Why 'Astrotest'?

'Astroturfing' is a term meaning to create inauthentic comments or discussion to influence or overwhelm natural organic debate. Hence 'Astro-testing': it's not authentically TDD; it can create a large number of tests automatically.


If the following function has the test_logging decorator::

def simplefn(a,b):
return a+b

and is called with:


it'll create a unit test file with the following (comments etc. omitted):

def test_simplefn(self):
self.assertEqual(simplefn(a=1, b=2), 3)

Project details

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page