for now, implement automatic "smoke test" or regression test; since search is a batch-oriented program, unit testing is less effective; therefore, i use a combination of trace diagnostics and a filter that checks these diagnostics to see if anything is amiss; unwanted things include: (1) exceptions (2) missing essential steps (3) missing branches---e.g., execution should take one of a small number or branchs, but none are taken; some parts of the code base will take unit tests; they tend to be module methods that don't modify the database or download data, but rather perform simple, easy-to-verify operations; for now, i need a smoke test to refactor the code base---in particular searchReport.py and configuration.py; configuration.py works well, but it is a real mess as far as extensibility goes; i will continue to add automated tests as i refactor these modules that are experiencing growing-pains;
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
add exception handling and error reporting first;
for now, implement automatic "smoke test" or regression test; since search is a batch-oriented program, unit testing is less effective; therefore, i use a combination of trace diagnostics and a filter that checks these diagnostics to see if anything is amiss; unwanted things include: (1) exceptions (2) missing essential steps (3) missing branches---e.g., execution should take one of a small number or branchs, but none are taken; some parts of the code base will take unit tests; they tend to be module methods that don't modify the database or download data, but rather perform simple, easy-to-verify operations; for now, i need a smoke test to refactor the code base---in particular searchReport.py and configuration.py; configuration.py works well, but it is a real mess as far as extensibility goes; i will continue to add automated tests as i refactor these modules that are experiencing growing-pains;
need to add many more tests to test.py; this script checks the trace messages produced by search.py (given the traceOn parameter);