Problemacome caricare file di risorse durante l'esecuzione di python unittest utilizzando processo contorto
Come parte del pitone unittest, alcuni file di input JSON devono essere caricati che esiste sotto la directory 'dati' che risiede nella stessa directory di prova il file py.
"pkg_resources" è utilizzato per questo scopo.
Funziona bene quando l'unittest è in esecuzione con Python. Ma fallisce quando si esegue con una prova contorta.
Il mio progetto ha una serie di test misti sia con test di python unittest sia con test di twisted.trial.unittest. quindi, vi è la necessità di eseguire entrambi i tipi di test con una prova a spirale in generale.
La directory '_trial_temp' viene aggiunta nel percorso quando si eseguono testcases con versione di prova. per favore, fammi sapere che c'è un modo per gestire questo?
struttura di directory Esempio:
myproject/
└── tests
├── data
│ └── input.json
├── trialTest.py
trialTest.py
import unittest
import inspect
import pkg_resources
class Test(unittest.TestCase):
def test_01_pathTest(self):
dataDirExists = pkg_resources.resource_exists(inspect.getmodule(self).__name__, 'data')
print 'data exists: %s' % (dataDirExists)
if __name__ == '__main__':
unittest.main()
prova corsa utilizzando pitone e la sua uscita:
cd myproject
python tests/trialTest.py
data exists: True
.
----------------------------------------------------------------------
Ran 1 test in 0.000s
OK
prova di funzionamento utilizzando Python e la sua uscita:
cd myproject
/usr/local/bin/trial tests/trialTest.py
trialTest
Test
test_01_pathTest ... data exists: False
[OK]
-------------------------------------------------------------------------------
Ran 1 tests in 0.013s
PASSED (successes=1)
Qual è il valore restituito da 'inspect.getmodule (self)' in questi due casi? –
python:, prova: –