Как я могу ввести вызов метода перед каждым методом в файле спецификации geb-spock

Постановка проблемы: как автоматически вызвать код непосредственно перед началом и концом метода тестирования в файле спецификации geb-spock.

Geb-spock не имеет ничего, связанного с BeforeMethod или AfterMethod, которые выполняются непосредственно перед началом / концом метода тестирования. Эта функция предоставляется инструментом testNG. Поскольку Geb-spock использует junit для внутренних целей, а junit не имеет этой функции, Geb-spock также не имеет этой возможности.

Но мне нужно разработать решение с использованием geb-spock, где мне нужно ввести код непосредственно перед запуском метода тестирования и после завершения метода тестирования.

Как я могу решить свою проблему.

Спасибо, Дебасиш


person Debasish Pradhan    schedule 25.06.2015    source источник
comment
Вы пробовали setup() cleanup() и setupSpec(), cleanupSpec() для всего класса соответственно?   -  person Opal    schedule 25.06.2015
comment
Спасибо, Опал. Я попробую.   -  person Debasish Pradhan    schedule 26.06.2015
comment
Если это сработает, я добавлю ответ, который будет принят.   -  person Opal    schedule 26.06.2015
comment
В JUnit есть эта функция. \@До и после   -  person twinj    schedule 30.06.2015


Ответы (1)


пожалуйста, следуйте приведенному ниже коду для понимания:

import spock.lang.Specification
class SampleSpockSpec extends Specification {

   def setupSpec(){
          println "inside setupSpec method"
   }
   def setup(){
          println "inside setUP method"
   }
   def "playActivity1"(){
          println "Iam activity 1"
          given:
          println "Executing Given Stmt"

          when:
          println "Executing when Stmt"
          then:
          println "Executing Then Stmt"


   }

   def "playActivity2"(){
          println "Iam activity 2"
          given:
          println "Executing Given Stmt"

          when:
          println "Executing when Stmt"
          then:
          println "Executing Then Stmt"
   }
   def "playActivity3"(){
          println "Iam activity 3"
          given:
          println "Executing Given Stmt"

          when:
          println "Executing when Stmt"
          then:
          println "Executing Then Stmt"
   }
   def cleanup(){
          println "inside Clean up method"
   }
   def cleanupSpec(){
          println "inside cleanupSpec method"
   }

}

**Result:**

inside setupSpec method
inside setUP method
Iam activity 1
Executing Given Stmt
Executing when Stmt
Executing Then Stmt
inside Clean up method
inside setUP method
Iam activity 2
Executing Given Stmt
Executing when Stmt
Executing Then Stmt
inside Clean up method
inside setUP method
Iam activity 3
Executing Given Stmt
Executing when Stmt
Executing Then Stmt
inside Clean up method
inside cleanupSpec method
person Vishal Aggarwal    schedule 25.06.2015