2011-06-06 20 views
9

Tengo un proyecto Maven/Java en el que he estado trabajando durante años, y quería tomar el consejo de JavaPosse y comenzar a escribir mis pruebas en Scala. He escrito algunas pruebas después de ScalaTest's JUnit4 quick start, y ahora quiero que estas pruebas se ejecuten mientras se ejecuta "prueba mvn". ¿Cómo debería hacer esto? ¿Qué debo poner en mi pom.xml para permitir que las pruebas en src/test/scala se ejecuten lado a lado mis viejas pruebas JUnit4?ScalaTest y Maven: comenzando

Saludos

Nik

PS, sí, he estado buscando en Google, pero todo lo que pude encontrar sobre el tema había algunas sugerencias pre-v1.0 que no he tenido trabajo

PPS, pregunta adicional: cómo puedo ejecutar estas pruebas una a la vez haciendo clic con el botón derecho en Eclipse/STS y decir "Depurar como ... ScalaTest" o algo similar donde hasta ahora he dicho "Depurar como". .. JUnit Test "?

PPPS, supongo que la respuesta ha cambiado desde July '09?

Respuesta

4

La segunda respuesta en una de las preguntas se enlazó a debería funcionar: Is there a Scala unit test tool that integrates well with Maven?

realizar anotaciones en las pruebas con una anotación junit @RunWith y darle la scalatest http://www.artima.com/docs-scalatest-2.0.RC3/#org.scalatest.junit.JUnitRunner

Si las pruebas también se adhieren a cualquier convención de nombres posiblemente impuesta por Maven, esto debería funcionar bien.

Nota: No importa qué tipo de rasitest sea el rasgo que use. Todos ellos deberían funcionar. Si no lo hacen y Bill Venners no responde a esta pregunta, contáctelo en la lista de correo de ScalaTest.

Otro Nota: puede ejecutar tales suites de prueba en Eclipse utilizando el plugin JUnit normal. Pero no puede ejecutar pruebas individuales, ya que el complemento espera deducir un nombre de método del nombre de la prueba, que no funciona con todos los tipos de pruebas scalatest.

+0

Estaba siguiendo esas líneas, pero para declaraciones como "import org.junit.runner.RunWith" I got "error: value junit no es miembro de package org". La respuesta dice 'Pronto planeamos implementarlo' oficialmente 'en un repositorio de Maven', así que no sé realmente qué pasó allí, pero no he podido desenterrar ningún proyecto de ejemplo con un pom.xml y un algunas clases de prueba para echar un vistazo a – niklassaers

+1

Eso suena como que no tiene JUnit en su classpath. Agréguelo como una dependencia (de prueba) y debería estar bien –

+0

No podía creerlo cuando me di cuenta de eso. Tienes razón, me faltaba JUnit. Siempre lo tuve en mi camino de clase, pero esta vez no. Gracias por la explicación :-) – niklassaers