Questa è una domanda sulla verifica dell'impostazione dell'ambiente.Come far sì che i test delle unità python trovino sempre i file di dati di test quando vengono eseguiti da diverse directory di lavoro?
Nel mio progetto, ho alcuni test di unità che accedono ai file di dati di test. Questi test unitari possono essere eseguiti dalla mia directory di progetto tramite un test runner. Oppure posso eseguire singolarmente ciascun file/modulo di test, ad esempio per scopi di debug.
Il problema è che, a seconda di dove eseguo i test, la directory corrente è diversa. Quindi aprire un file di dati di test, come di seguito, assegnando un percorso relativo alla directory corrente non funzionerà quando quei file vengono eseguiti dalla directory di progetto, poiché il file di dati di test non si trova in quella directory.
f = open('test_data.ext', 'r')
ho pensato di usare __file__ utilizzare un percorso relativo modulo di test corrente, ma questa doesn't work when the test module calling __file__ is the one being run individually.
In che modo la gente generalmente risolve questo problema?
Mi rendo conto che questa domanda non è puramente python specifica, ma vorrei privilegiare soluzioni idiomatiche pitone , Se ce ne sono. – ptrico