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.
====
Example
====
If the following function has the test_logging decorator::
@astro_test
def simplefn(a,b):
return a+b
and is called with:
simplefn(a=1,b=2)
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)
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.
====
Example
====
If the following function has the test_logging decorator::
@astro_test
def simplefn(a,b):
return a+b
and is called with:
simplefn(a=1,b=2)
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)