Si una gema tiene dependencias de rieles, ¿cree que es mejor escribir las pruebas de gemas de forma que puedan ejecutarse de forma independiente o ejecutarlas en un proyecto de rieles?Forma correcta de probar gemas
Respuesta
Una gema debe ser una pieza de código que actúa de forma independiente. De lo contrario, es parte de la aplicación, por lo que las pruebas también deben crearse de forma autónoma. De esta forma, otros (hipotéticamente) también pueden realizar las pruebas. Si las pruebas dependen de su aplicación, otras personas no pueden probar su gema.
Además, cuando desea probar su gema no debe fallar porque su aplicación está fallando. Después de que su gema pasó la prueba, puede probar la aplicación sabiendo que su gema está funcionando bien (suponiendo que haya probado todo).
Si la gema depende de Rails o no, no es un problema, ya que Rails también se ha probado (y puede suponer que está funcionando correctamente). Entonces estas dependencias no (/ deberían) influenciar su gema.
Yo diría que depende del tipo de dependencias que la gema necesita. P.ej. si solo es ActiveRecord, es bastante fácil incluirlo en su suite de pruebas. En casos más complejos, siempre puede burlarse de algunas de las funciones necesarias. En casos realmente complejos, crear una aplicación de prueba es mejor que nada (IMO).
- 1. Forma correcta de probar las señales de Django
- 2. ¿Cuál es la forma correcta de probar áreas en excepciones?
- 3. ¿Cuál es la forma correcta/correcta de probar si un objeto es un objeto jQuery en javascript?
- 4. ¿Cuál es la forma correcta de iniciar su servidor de votos para probar?
- 5. ¿Cuál es la forma correcta de probar "crear" acciones de controlador?
- 6. forma correcta de utilizar StringBuilder
- 7. Forma correcta de detener IntentService
- 8. Forma correcta de crear formularios
- 9. ¿Cuál es la forma correcta de simular archivos para probar un formulario?
- 10. ¿cuál es la forma correcta de probar xs: decimal en XSL?
- 11. Forma correcta de probar automáticamente el rendimiento en Python (para todos los desarrolladores)?
- 12. Dependencias de gemas condicionales
- 13. Forma correcta de deshacerse de un BackGroundWorker
- 14. ¿La forma correcta de deshacerse de Quartz.NET?
- 15. Forma correcta de heredar de std :: exception
- 16. ¿Bootstrap forma el diseño de la forma "correcta"?
- 17. Forma correcta de mostrar vistas modales consecutivas
- 18. Forma correcta de instalar Mercurial en Ubuntu
- 19. Forma correcta de inicializar Car sin firmar *
- 20. Forma correcta de almacenar coordenadas en Solr
- 21. ¿La forma correcta de finalizar un BeginInvoke?
- 22. Forma correcta de utilizar LINQ con CancellationToken
- 23. forma correcta de utilizar wp_get_attachment_image() en wordpress
- 24. Forma correcta de usar matrices en MonoMac
- 25. Forma correcta de desechar un BitmapSource
- 26. Forma correcta de vaciar una C-String
- 27. Backbone.js: ¿forma correcta de filtrar una colección?
- 28. Forma correcta de reasignar punteros en C++
- 29. Forma correcta de sincronizar ArrayList en java
- 30. Forma correcta de hacer casilla HTML5