He pasado los últimos días tratando de encontrar una combinación de pruebas unitarias que funcionen con scala para mi proyecto y esto es lo que he encontrado.
Estoy utilizando los candidatos de lanzamiento para Scala 2.8 porque soluciona una serie de errores que me bloqueaban en 2.7.2. Al principio me trató de conseguir Scalatest trabajar con 2.8, pero era incapaz de encontrar una solución estable, en el futuro que puede ser un mejor camino a seguir, pero en la actualidad parece que hay demasiado en el flujo alrededor de la liberación 2.8.
La configuración He trabajo es utilizar las anotaciones junit4 en mi código de prueba Scala de este modo:
import org.junit._
import Assert._
class TestSuite{
@Test def testSimple(){
asserEquals("Equal",1,1)
}
}
Entonces estoy usando un conjunto de pruebas JUnit Java para ejecutar todas mis pruebas juntas de esta manera:
import junit.framework.Test;
import junit.framework.TestSuite;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;
@RunWith(Suite.class)
@Suite.SuiteClasses({
TestSuite.class
})
public class AllTests {
public static Test suite() {
TestSuite suite = new TestSuite("Test Suite");
return suite;
}
}
El único truco adicional es agregar el directorio de salida como un directorio fuente en Eclipse para que el corredor JUnit pueda encontrar sus archivos de clase. Esto es un truco, pero parece funcionar.
Proyecto-> Propiedades-> Java Build Path-> Source-> Add Folder y luego haz clic en las clases (o bin, donde sea que estés compilando tus archivos de clase).
Esto funciona muy bien en Eclipse haciendo clic derecho sobre AllTests.java y seleccionando RunAs-> Junit
No lo he probado, pero hay algo de documentación aquí: https://www.assembla.com/wiki/show/scala-ide/Using_Unit_Testing_Frameworks –
@Matt Gracias, esto funciona, deberías agregarlo como respuesta , actualmente. –