En otros idiomas, me gusta poner las pruebas de mi unidad en una estructura de directorio diferente del código de producción para mantener las cosas separadas. ¿Existe una convención típica en Haskell de cómo hacer eso o algo similar?Cómo separar el código de producción y prueba en Haskell
Respuesta
Existe una convención típica codificado en http://www.haskell.org/haskellwiki/Structure_of_a_Haskell_project.
Además, se puede añadir la acumulación de prueba a la cábala principal como en https://github.com/ekmett/speculation/blob/master/speculation.cabal
Hay algunos bonos al método Cabal separada. Es decir, que los métodos de prueba como los generadores de comprobación rápida para tipos de datos están disponibles en un segundo cabal de estilo de prueba de proyecto que otros pueden importar si están utilizando sus estructuras de datos en sus proyectos, pero yo prefiero el enfoque de cabal única. Sin embargo, depende del propósito de tu biblioteca.
Haskell testing workflow es útil para obtener más información sobre las pruebas.
Creo que el mejor ejemplo que he venido hasta el momento para que el proyecto es complemento
http://github.com/snapframework/snap-core
Compruebe la carpeta prueba, que desarrollan su propio paquete de Cabal sólo para las pruebas, y tienen una script de shell (runTestAndCoverage.sh) que ejecuta el conjunto final de pruebas compiladas.
Buena suerte.
Es pronto para mí en el desarrollo de Haskell también, pero I've used cabal to organize my tests under a tests/
subdirectory
- 1. DRY entre producción y Constantes de código de prueba
- 2. código de prueba SQLite a código de producción proporción
- 3. Cómo refactorizar el código de prueba junto con el código de producción?
- 4. django release management (montaje, prueba y producción)
- 5. System.Diagnostics.Debug.WriteLine en el código de producción
- 6. Desactivación de prueba de producción en TestNG
- 7. Secuencia en el código de producción
- 8. Cómo separar el código CUDA en varios archivos
- 9. ¿Cómo se mantiene el código de desarrollo y el código de producción?
- 10. ¿Cómo depurar el código de Haskell?
- 11. cómo separar la depuración y el modo de liberación de código
- 12. Optimizar el código Haskell
- 13. ¿Pruebas unitarias en el código de versión de producción?
- 14. cómo mongoid crea el índice para el entorno de prueba y producción
- 15. Haskell primer prueba
- 16. ¿Cómo administrar código de producción frecuentemente modificado?
- 17. Prueba de cómo escalar el código
- 18. Umbraco: ¿trabajando con el control de versiones? prueba/producción?
- 19. Separar el código del diseño en la plantilla
- 20. ¿Qué es el "código de nivel de producción"?
- 21. ¿Es una buena práctica separar el código en bloques?
- 22. Flujo de trabajo en el código de producción
- 23. ¿Cómo importo una biblioteca de Android y la uso tanto en el código de producción como en las pruebas?
- 24. Implementación de LRU en el código de producción
- 25. ¿Cómo administra las bases de datos en desarrollo, prueba y producción?
- 26. Crear datos de prueba en el código
- 27. ¿Cómo se puede separar limpiamente el código de compatibilidad con versiones anteriores del código principal?
- 28. ¿Se puede usar Cronómetro en el código de producción?
- 29. ¿NHibernate SchemaUpdate es seguro en el código de producción?
- 30. ¿Cómo diferenciar entre propiedades de prueba y producción en una aplicación?
posible duplicado de [Organización de pruebas Haskell] (http://stackoverflow.com/questions/4687387/organizing-haskell-tests) – ephemient
Ah, gracias por el enlace a ese. Son similares, aunque el examen de las respuestas parece mostrar que el otro era más sobre la estructura del módulo, y esto es sobre la estructura del proyecto como se ve por la naturaleza de las respuestas. Encontré información útil de ambos. – mentics