Граали 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 ответ:
Тестирование никогда не было таким простым и интуитивно понятным до использования Спока.Мы всегда можем проверить исключения в тестировании 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 }
Именно так мы проверили, выбрасывается ли исключение для недопустимого ввода или нет. Надеюсь, это поможет