Primeros pasos con Scala: FooTest

En último lenguaje que decidí aprender fue Scala y siguiendo la política que mencioné en un post anterior, comencé programado un FooTest.

Al intentar hacer esto me encontré que Scala, a diferencia de Ruby, no viene con ningún framework de test incluido. Luego de investigar un poco encontré que hay más de una herramienta de test disponibles en la web. Finalmente decidí utilizar ScalaTest. En cuanto a herramienta de build ya sabía de la existencia de SBT, así que simplemente investigué cómo hacer que SBT ejecutara los tests escritos con ScalaTest. El resultado fue este proyectito.

footest_scala

 

FooTest el nuevo «Hola Mundo»

Tradicionalmente a la hora de aprender un nuevo lenguaje de programación uno comenzaba por programar una aplicación que imprimiera «¡Hola Mundo!» en la salida estándar. Creo que eso puedo estar bien en una época, pero en la actualidad escribir mensajes en la salida estándar no suele ser de gran utilidad.

Personalmente dejé de programar «Hola mundos» hace varios años y lo reemplacé por programar una prueba unitaria. Y en general suelo ir un poco más allá y hacer que la prueba unitaria se ejecute con la herramienta de build correspondiente con total independencia del IDE utilizado.

La prueba unitaria que suelo programar es siempre la misma, verifico que el método sayFoo de la clase Foo devuelva el string «foo!». Esto me lleva a escribir la clase FooTest, la clase Foo y un script de build para correr el test.