2011-12-11 12 views
5

Estoy en una situación en la que tengo varias pruebas escritas de ScalaTest (compatible con JUnit), y quiero medir qué tan buena cobertura de códigos obtengo al ejecutar la prueba.Medir la cobertura de Scala Code en testcases en Eclipse

No quiero usar SBT directamente, pero tengo un proyecto Eclipse Scala, en el cual tengo una cantidad de casos de prueba que deseo ejecutar.

¿Cuál sería la mejor manera de ir?

+1

Qué herramienta de compilación usas, si no sbt. Maven? ¿Desea probar el código scala o solo escribió sus pruebas en scala? – Steffen

+0

Estoy usando el eclipse normal "scala builder" etc. y cuando termine, estoy exportando los proyectos como eclipse plugin. Quiero probar el código scala, y las pruebas también están escritas en Scala. – StefanE

Respuesta

3

Uso EclEmma para la cobertura de código en Eclipse. Instálalo usando el sitio de actualización.

Tenga en cuenta que no se mostrará en la perspectiva de Scala, solo en la perspectiva de Java, pero está bien porque todavía puede ejecutar las pruebas de la unidad basada en Scala de esa manera.

Al instalarlo, agrega un nuevo botón "ejecutar" a la barra de herramientas. Cuando utiliza esto se ejecuta las pruebas de unidades que elija, genera un informe de cobertura y resalta su código para mostrar lo que se ha cubierto y lo que no.

Acabo de probarlo con un proyecto de Scala con pruebas de unidad Scala, y parece funcionar bien.

+1

¡El complemento EclEmma ahora aparece en la perspectiva de Scala! – Mark

+0

no parece funcionar para scalatest –

+0

funciona, pero necesita anotar la clase para ejecutar con un corredor junit –

0

esto he trabajando en Scala de "clases" de civil scalatest

todo lo que requiere es agregar una anotación a su clase Scalatest para que se ejecute como un Junit (ver la anotación a continuación). Esto usa scalatests propios junitrunner.

@RunWith (classof [JUnitRunner]) MyTest clase extiende FeatureSpec con comparadores con GivenWhenThen con StrictLogging {

una vez que hayas hecho esto, verá que ahora se puede ejecutar esta clase en Eclipse como un " prueba scala junit ". También podrá "cobertura como -> prueba junit" también.

Si tiene instalado eclemma plugin, verá el panel de cobertura (puede que tenga que agregarlo manualmente a su perspectiva scala) con la cobertura provista por su prueba y también obtendrá el rojo/verde/amarillo línea por línea de cobertura en sus clases.

¡la vida es buena!

+0

solo para revelar algunos detalles más, estoy usando el junit 4.12, scalatest 2.2.5, eclipse mars –

+0

más información sobre el scaitrist junitrunner: http://www.scalatest.org/user_guide/using_junit_runner –

Cuestiones relacionadas