Unit test Groovy2.0 with Spock : setup( )

Я пишу модульный тест, используя Spock для groovy-2.0, и использую gradle для запуска. Если я напишу следующее, тест пройдет.

import spock.lang.Specification

class MyTest extends Specification {  

  def "test if myMethod returns true"() {       
    expect:
      Result == true;   
    where: 
      Result =  new DSLValidator().myMethod()

  }  
}  

myMethod() - это простой метод в классе DSLValidator, который просто возвращает true.

Но если я пишу функцию setup() и создаю объект в setup(), мой тест не проходит: Gradel говорит: FAILED: java.lang.NullPointerException: Cannot invoke method myMethod() on null object

Вот как это выглядит с setup(),

import spock.lang.Specification

class MyTest extends Specification {  

  def obj

  def setup(){
   obj =  new DSLValidator()
  }

  def "test if myMethod returns true"() {       
    expect:
      Result == true;   
    where: 
      Result =  obj.myMethod()

  }  
}     

Может кто-нибудь помочь?

Вот решение, которое я получил для этой проблемы:

import spock.lang.Specification

class DSLValidatorTest extends Specification {

  def validator

  def setup() {
    validator = new DSLValidator()
  }


  def "test if DSL is valid"() { 

      expect:
        true == validator.isValid()
  }  
}
8
задан Masa 1 February 2012 в 18:56
поделиться