Ne kemi një kornizë testimi që e zgjeron pak pytestin dhe e mbështjell me shumë Ansible për të ekzekutuar testet e pranimit të konfigurimit të sistemeve për të verifikuar që infrastruktura jonë është instaluar dhe konfiguruar saktë dhe duket se po funksionon në mënyrë të arsyeshme. Ai e bën këtë duke përdorur Ansible për të paketuar testet, për t'i dërguar ato në një host të largët, më pas i shpaketon ato në një virtualenv për të ekzekutuar testet brenda. Testet e shumicës së njerëzve deri tani përfshijnë ekzekutimin e komandave në hostin në distancë për të verifikuar se funksionojnë.
Një pjesë e asaj që po përpiqem të testoj është nëse disa module Python janë instaluar dhe funksionojnë apo jo, dhe nëse janë, përdorni ato në teste të mëtejshme. Por unë jam disi i penguar në këtë, pasi virtualenv (me të drejtë) fsheh të gjitha modulet e instaluara të Python.
Deri më tani, strategjia ime është të ekzekutoj një komandë / skript të vogël të guaskës subprocess
që çaktivizon të gjitha variablat e mjedisit të lidhur me virtualenv dhe më pas ekzekuton një skript të shkurtër Python duke përdorur sistemin python që turshi sys.path
e tij dhe e hedh atë në stdout.
Por atëherë nuk jam i sigurt për hapin tjetër. Cila është mënyra e duhur për të ngatërruar me sys.path
brenda një testi apo pajisjeje? A do ta rivendosë pytest pasi pajisja të mos jetë më e nevojshme? Çfarë bën pytest me modulet që importon një test? A i heq ato nga sys.modulet pas kryerjes së testit?