I am currently developing a library and a set of programs using this library in python. Unit testing dictates that I import each module from the library and check the classes and routines inside. No problem with that. I have a separate test directory containing all my tests and importing the library modules that I run during development.
However, when it comes to software testing, things change. For testing, programs must be run as a whole. Programs suggest finding the installed library (which may be so, although it is not true if I installed the previous version on my machine, adding additional problems). At the moment, my programs are running testuite with the definition of PYTHONPATH, which I execute manually before deployment (IOW, I do not complete the installation), but I do not think that I am doing it right. I feel that in general, a program should be tested for functionality when it is fully deployed, but that will mean that I have to install it every time I want to perform functional testing.
What are your experiences and suggestions regarding functional testing of entire programs? do you do this before or after deployment and how?
thanks
Please note that I am not using the python tag specifically. Although my problem is specific to python, and I would prefer answers to questions related to python, I think that input can also be made by experts in other languages.
Edit : as reported in the comment, the fact is that during installation my program should import modules whose path can only be found during deployment (I download and install the dependencies on the fly, they are not installed on my machine). I cannot manipulate sys.path from the test, because this will mean that I am changing the sys.path of the program (my executable file) from another program (testuite, which starts and calls the system () call).
, , , - PYTHONPATH, , , , , make script (, , , "" ).
"OSX bundle", .
Edit
150 , , .
Edit
. , LudoMC V- , . .