Overview

Implementació de la solució de la tercera prova FHC QP 2010/2011

En aquest repositori (directori qp1011) podeu trobar la solució al problema de la tercera prova FHC de l'assignatura IES (l'enunciat el podeu trobar a doc/IES-TercerParcialFHC-QP1011).

Els continguts són els següents:

+- pom.xml -> Arxiu descriptor de maven
|- doc
|  |- IES-TercerParcialFHC-QP1011.pdf -> Enunciat del problema
|
|- src 
    |- main/java 
    |          |- edu/upc/fib/ies/qp1011 -> Controladors i excepcions
    |                                  |- model -> Domain Model
    |                                  |- dades -> Capa de dades
    |- test/java
    |          |- edu/upc/fib/ies/qp1011 -> Proves automatitzades amb jUnit
    |          |- stories -> Proves automatitzades amb JBehave
    |- test/resources
                  |- stories -> Descripció d'escenaris en llenguatge natural

Per a descarregar el codi ho podeu fer a través de la interfície web de bitbucket o a través del mercurial seguint les instruccions que trobareu al bitbucket.

Per a executar les proves, necessitareu una màquina virtual Java i l'eina maven i haureu d'executar, al directori qp1011 la comanda

mvn verify

Per a entendre el funcionament de les proves amb jBehave cal tenir en compte el següent: Tant la classe stories.FerProfessional com stories.ObtenirArbitres hereden la configuració de jBehave de la superclasse StoriesBase. Aquesta configuració, el que fa és dir-li a jBehave que els passos de les especificacions estan definits a la classe stories.StepsImplementation. Totes dues classes es poden executar com a proves de jUnit (tot i no ser proves unitàries) i, el que fa jBehave és el següent:

  • Buscar un arxiu amb un nom calculat a partir del nom de la classe (stories/fer_professional.story o stories/obtenir_arbitres.story)
  • A cada línia que comenci amb Scenario fer una execució d'una prova
  • Per cada línia que comenci amb Given/When/Then anar a l'implementació dels passos i buscar el mètode corresponent. La paraula And és un àlias de la darrera paraula trobada (Given When o Then)