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

 

5 thoughts on “Primeros pasos con Scala: FooTest

  1. A modo de comentario (valga la redundancia je!), el build.sbt lo escribiría de la siguiente manera:
    (es necesario dejar un renglón en blanco entre cada linea de código si se está usando un versión de sbt < 0.13.7)

    name := "foo"

    version := "1.0"

    scalaVersion := "2.10.4"

    lazy val root = (project in file("."))

    libraryDependencies += "org.scalatest" %% "scalatest" % "2.0" % "test"

    Usar %% en lugar de % evita tene que poner el _2.10 o _2.11, dependiendo de la versión de scala que se esté usando, y lo resuelva automáticamente.

    Adicionalmente especificaría la versión de sbt a usar, para lo cual hay que crear una carpeta project en el root del proyecto y dentro poner un archivo que se llame build.properties que contenga lo siguiente: sbt.version=0.13.5 (0.13.5 o la versión que se quiera).

    Bienvenido al fantastico mundo de Scala (siempre y cuando no te metas con base de datos relacionales, particularmente no me gusta mucho lo que hay).

    Saludos.

      1. La verdad que no mucho, antes estaba usando mongodb, ahora que estoy con MySQL fuí por el lado de Slick, ya que estaba más actualizado, o sea, es compatible con scala 2.11, cosa que otros que había visto no, como Squeryl, aunque fué hace unos meses, quizás cambió. De todas formas vengo trabajando más con Java y MsSQL, o sea usando Hibernate, JPA. Y el hecho de tener con Slick el id del objeto en lugar de tener automágicamente el objeto de forma lazy con JPA, está haciendo que me rompa un poco la cabeza.
        Entiendo que con Active Record en Ruby, al igual que Slick, tenés solo el id, así que no te debería resultar chocante.
        De hecho hay un proyecto scala-activerecord: https://github.com/aselab/scala-activerecord/tree/master/play2

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.