unit testing - how - Pruebas de Scala: ¿Cuál es el estado y la relación de SUnit, ScalaTest, ScalaCheck, Specs y ParTest?
sbt command (2)
ScalaTest y Specs tienen una sintaxis y una lista de características muy similares y ambas son adoptadas por la comunidad. Ambos permiten pruebas de unidad y aceptación.
ScalaCheck tiene una filosofía radicalmente diferente. Las pruebas generan instancias aleatorias y verifican que se mantienen algunas propiedades. Las propiedades y los generadores se pueden definir y componer en un buen lenguaje funcional. ScalaTest y Specs le permiten escribir las propiedades de ScalaCheck dentro de las pruebas.
SUnit se eliminó antes de comenzar la programación en Scala, así que no tengo idea de cómo funcionó. Nunca he oído hablar de ParTest antes de su pregunta.
Scala ofrece una selección de diferentes marcos de prueba, pero me pregunto si hay diferencias en la madurez y la estabilidad que tienen y qué características distintas proporcionan.
¿Existe alguna específica que se ajuste a todo tipo de desarrollo?
¿Pueden los diferentes marcos interactuar entre sí o con los corredores de prueba destinados a otros idiomas?
- SUnit ya no existe .
- ScalaTest y Specs están maduros, se mantienen y reciben mejoras (Specs2 se ha eliminado recientemente, por cierto). La elección entre ellos es cuestión de gustos.
- ScalaCheck no tiene un corredor particularmente bueno, pero tanto ScalaTest como Specs tienen un soporte especial para la integración de ScalaCheck. Se considera una herramienta importante.
- ParTest se usa solo para el compilador, ya que prueba cosas como "¿compila esto?" y "¿esto no se compila?", mensajes de error y advertencia, etc. No está dirigido al desarrollo de aplicaciones, y no debe usarse para eso.