Граали 3.0.6 java.яз..IllegalStateException на любом интеграционном тесте


import grails.test.mixin.integration.Integration
import spock.lang.Specification

@Integration
class MySpec extends Specification {

   def setup() {
   }

   def cleanup() {
   }

    void "test something"() {
        expect:"tests a"
          true
    }
}

MySpec > test something FAILED
java.lang.IllegalStateException
    Caused by: org.springframework.beans.factory.BeanCreationException
        Caused by: org.springframework.beans.factory.BeanCreationException
            Caused by: org.springframework.beans.factory.BeanCreationException
                Caused by: java.lang.NullPointerException

1 тест завершен, 1 не прошел : integrationTest не удалось :mergeTestReports

Я бегу команда "test-app-integration MySpec"

Это ошибка в граалях или я делаю что-то не так?

Обновление!

Я нашел решение - просто добавьте testCompile " org.Граали.Плагины: hibernate" настроить.gradle

1 2

1 ответ:

Тестирование никогда не было таким простым и интуитивно понятным до использования Спока.Мы всегда можем проверить исключения в тестировании grails Spock. Например, у нас есть метод, который вызывает исключение, например:

String getUserType(int age){
    if(age<=0){
        throw new MyException("Invalid age")
    }else if( age>0 && age<50){
        return "Young"
    }else{
        return "Old"
    }
}

Теперь мы напишем тестовый случай этого метода для проверки того, выбрасывается ли исключение для недопустимых входных данных или нет.

def "exception should be thrown only for age less than or equal to 0"{
    given:
        String type = getUserType(34)
    expect:
        type == "Young"
        notThrown MyException
    when:
        type = getUserType(0)
    then:
        thrown MyException
}

Именно так мы проверили, выбрасывается ли исключение для недопустимого ввода или нет. Надеюсь, это поможет