Qual è il modo migliore per testare un'unità API RESTful che include funzionalità di posta elettronica (password perse, attivazione utente) in Python? Tutto viene fatto tramite HTTP POST/GET e l'autenticazione, in questo momento, non è coinvolta. Dovrei semplicemente usare la libreria delle richieste e fare manualmente tutto ciò che voglio? È possibile utilizzare le richieste per automatizzare le parti del mio test unitario che riguardano la posta elettronica?Unit Test a API RESTful in Python
risposta
Spesso il framework Web che si utilizza per implementare l'API REST offrirà anche il supporto per il test dell'unità. Per esempio:
- Flask: http://flask.pocoo.org/docs/0.10/testing/
- Django: http://django-testing-docs.readthedocs.org/en/latest/views.html
Queste classi di test sono scorciatoie che vengono inserite la richiesta direttamente nella URL dispatcher del framework. Ciò ti evita il fastidio di trovare una porta libera, generando un server "reale" e collegando il client http al test dell'unità.
Per quanto riguarda l'invio di e-mail: vorrei prendere in giro quella parte nel metodo TestCase.setUp
. Basta cambiare il riferimento al modulo/classe di invio e-mail a un altro modulo/classe che esegue il loop del messaggio e-mail in uscita sul test dell'unità per la valutazione anziché per l'invio tramite e-mail.
Questi strumenti potrebbero essere utili se si dispone di un'app WSGI, ma il framework non ha un buon supporto per il test dell'unità: http://wsgi.readthedocs.io/en/latest/testing.html. –
- 1. Unit test a HttpApplication
- 2. Python - Twisted e Unit Test
- 3. Parametrizzare le unit test in python
- 4. Unit test a Model Mixin
- 5. unit test in C++
- 6. Unit test a AsyncResult in sedano
- 7. Unit Test non in esecuzione
- 8. Unit test chiamata Activity.startService()?
- 9. unit test e test funzionali in CodeIgniter
- 10. Unit Testing Interfaces in Python
- 11. modo preferito di patch diversi metodi in Python unit test
- 12. Eccezione catch in unit test
- 13. NSHomeDirectory in iPhone unit test
- 14. Server API RESTful in C#
- 15. API client RESTful in C++
- 16. Testbed API RESTful con Swagger
- 17. Unit Test di Retrofit Chiamata 2 api con Mockito
- 18. AFNetworking 2.0 e Unit Test
- 19. ZF2 autenticazione unit test
- 20. API Django e Restful
- 21. Utilizzo di assertArrayEquals in unit test
- 22. Unit test icefaces
- 23. Symfony2 RESTful API + AngularJS
- 24. Unit test di applicazioni facebook
- 25. Unit test Scala
- 26. unit test smell
- 27. unit test modular javascript
- 28. Unit test codice matematico
- 29. Unit test the Viewmodel
- 30. unit test system.timers.timer
L'unità dovrebbe testare i gestori senza l'overhead HTTP. Tutto il resto non è in realtà un test unitario ma piuttosto una sorta di test di integrazione. – poke
se si utilizza http, non è un test di unità. in generale, se si prova qualcosa di diverso da una singola classe, nel caso di una pausa tutto il routing URL, la gestione dei dati di qualsiasi tipo - non è un test unitario. – Henning