2011-02-09 11 views
9

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

+3

posible duplicado de [Organización de pruebas Haskell] (http://stackoverflow.com/questions/4687387/organizing-haskell-tests) – ephemient

+0

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

Respuesta

3

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.

3

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.

Cuestiones relacionadas