2010-06-08 3 views
5

¿Existe un equivalente de Java o Scala en Cucumber/SpecFlow? Una posibilidad es usar Cucumber con JRuby; ¿cualquier otro?Herramientas de prueba de comportamiento de nivel de función para Java/Scala

+1

Tal vez http://stackoverflow.com/questions/1068785/which-bdd-framework-for-java-do-you-use pueda ser útil. – Mark

+1

¿Has mirado los marcos disponibles? Solo para Scala, ScalaTest tiene soporte BDD, y Specs fue diseñado con BDD en mente. Luego hay una multitud de marcos de prueba para Java. Quizás si pudiera explicar sus requisitos un poco mejor, sería más fácil responder a esta pregunta. –

Respuesta

8

Eche un vistazo a ScalaTest with Feature Spec. Muestra función de especificaciones de la página web ScalaTest:

import org.scalatest.FeatureSpec 
import org.scalatest.GivenWhenThen 
import scala.collection.mutable.Stack 

class ExampleSpec extends FeatureSpec with GivenWhenThen { 

    feature("The user can pop an element off the top of the stack") { 

    info("As a programmer") 
    info("I want to be able to pop items off the stack") 
    info("So that I can get them in last-in-first-out order") 

    scenario("pop is invoked on a non-empty stack") { 

     given("a non-empty stack") 
     val stack = new Stack[Int] 
     stack.push(1) 
     stack.push(2) 
     val oldSize = stack.size 

     when("when pop is invoked on the stack") 
     val result = stack.pop() 

     then("the most recently pushed element should be returned") 
     assert(result === 2) 

     and("the stack should have one less item than before") 
     assert(stack.size === oldSize - 1) 
    } 

    scenario("pop is invoked on an empty stack") { 

     given("an empty stack") 
     val emptyStack = new Stack[String] 

     when("when pop is invoked on the stack") 
     then("NoSuchElementException should be thrown") 
     intercept[NoSuchElementException] { 
     emptyStack.pop() 
     } 

     and("the stack should still be empty") 
     assert(emptyStack.isEmpty) 
    } 
    } 
} 
1

Mira Fitness, si se desea separar el código de prueba de aceptación de texto. De lo contrario, tanto Specs como ScalaTest admiten el estilo BDD (las especificaciones se escribieron para ser de estilo BDD), y muchos otros frameworks Java admiten que fue así.

6

specs proporciona las especificaciones alfabéticas con "forms" para desarrollar las especificaciones de ajuste. Puede encontrar una publicación que explique la razón de ello here y some examples de what can be done con it.

Sin embargo, tenga en cuenta que la biblioteca todavía está en modo alfa ya que planeo darle más atención una vez que se haya resuelto Scala 2.8.0.

1

JBehave fue reescrito después de pepino fue puesto en libertad, por lo que también podríamos utilizar texto sin formato. Gherkin no estaba fuera cuando lo escribimos, por lo que no analiza exactamente lo mismo - usa tokens en lugar de regexp - pero hará el mismo trabajo.

http://jbehave.org

Cuestiones relacionadas