Qual è il modo pietonico di scrivere un unittest per vedere se un modulo è installato correttamente? Se installato correttamente intendo, non solleva un ImportError: nessun modulo chiamato foo.Come scrivere un unittest per l'importazione di un modulo in Python
risposta
As I have to deploy my Django application on a different server and it requires some extra modules I want to make sure that all required modules are installed.
Questo non è uno scenario di prova unitario.
Questo è un processo di preparazione della produzione e non è - tecnicamente - un test della vostra applicazione.
È una domanda sull'ambiente. La nostra include dozzine di cose.
Inizia con un semplice script come questo. Aggiungi ogni cosa di cui hai bisogno per essere sicuro che esista.
try:
import simplejson
except ImportError:
print "***FAILURE: simplejson missing***"
sys.exit(2)
sys.exit(0)
Basta eseguire questo script in ogni ambiente come parte dell'installazione. Non è affatto un test unitario. È una condizione preliminare per l'installazione di installazione.
Grazie mille, e mi dispiace per aver usato la terminologia sbagliata, ovviamente ha messo un sacco di persone sul piede sbagliato :) – DrDee
non vedo il motivo per cui si avrebbe bisogno di provare questo, ma qualcosa di simile:
def my_import_test(self):
import my_module
Se un errore di importazione viene sollevato il test è fallito, se non passa.
Forse non sono chiaro in cosa ho bisogno. Voglio verificare se l'importazione di un modulo ha successo o meno, così posso vedere quali moduli mancano e devono essere installati. Quindi, come posso usare un self.assertUnequals ... statement – DrDee
- 1. Python unittest: eseguire test in un altro modulo
- 2. ipdb con modulo unittest python
- 3. Come si può usare il modulo di registrazione in python con il modulo unittest?
- 4. Come scrivere un modulo Nginx?
- 5. Come saltare un intero modulo unittest Python in fase di esecuzione?
- 6. Come scrivere un riferimento di funzione in un modulo Perl?
- 7. Come genero un test suite in python unittest
- 8. Come scrivere un commento inline in python
- 9. Come scrivere un filtro unix in python?
- 10. Come scrivere un proxy Web in Python
- 11. unittest per nessun tipo in python?
- 12. Come scrivere un server proxy in Python?
- 13. Python come scrivere in un file binario?
- 14. Scrivere con di Python modulo incorporato .csv
- 15. Per loop in unittest
- 16. Esecuzione di un lavoratore Sedano in unittest
- 17. Come nascondere temporaneamente stdout o stderr durante l'esecuzione di un unittest in Python
- 18. Come affermare che un metodo è decorato con Python Unittest?
- 19. Scrivere un aiuto per lo script python
- 20. Scrivere un dizionario in un file di testo in python
- 21. Python Unittest discovery con sottocartelle
- 22. Come estendere un modulo Python? (python-twitter)
- 23. Come posso importare un modulo di terze parti in Python?
- 24. Come scrivere le unittests per una dipendenza opzionale in un pacchetto python?
- 25. Come scrivere un server HTTP in Perl?
- 26. Come scrivere un file WAV a 24 bit in Python?
- 27. Python unittest problemi di importazione
- 28. metodi unittest python
- 29. scaricare un modulo in Python
- 30. Creazione di un modulo python
Generalmente, non c'è molto da testare. Non ti fidi dell'istruzione 'import'? La linea di codice di importazione è così semplice - e così facile da ispezionare - che sembra un po 'sciocco provarlo. Perché collaudi l'istruzione 'import'? –
Come devo distribuire la mia applicazione Django su un server diverso e richiede alcuni moduli aggiuntivi Voglio assicurarmi che tutti i moduli richiesti siano installati. Ad esempio, assicurandosi che simplejson sia installato per python 2.5. Naturalmente mi fido della dichiarazione di importazione, ma non voglio dimenticare di installare un modulo di cui ho bisogno. – DrDee
Sembra che tu stia facendo test sull'ambiente di produzione, che è ... strano. Ad ogni modo, stai verificando di avere delle dipendenze adeguate, che è un lavoro per il gestore di pacchetti. O creare pacchetti per la propria applicazione, o usare pythonic dependency managers (viene in mente la pip e la pip install -r requirements.txt in virtualenv). – Almad