Я видел несколько сообщений о проблемах с Grails 2.3.x и интеграционным тестированием, но пока ничего не помогло в моей ситуации, так что вот:
Я хочу протестировать свои службы Grails в реальной базе данных (Oracle), поэтому я написал несколько интеграционных тестов в Spock. Независимо от того, какой из рекомендуемых подходов я пробую, я получаю ту же ошибку. Я надеюсь, что это что-то простое и глупое, но боюсь, что есть проблема, которую должна решить команда Grails.
Вот код, должным образом очищенный, чтобы удалить любые намеки на то, где я работаю:
package com.mycompany
import grails.test.spock.IntegrationSpec
import spock.lang.*
import com.mycompany.User
class UserServiceSpec extends IntegrationSpec {
UserService userService
def setup() {
}
def cleanup() {
}
void "find a user by their id"() {
when:
User user = userService.find('1234')
then:
user.firstName == 'Brian'
}
}
Из всего, что я там читал, это то, как вы это делаете с Grails 2.3 и более поздними версиями. Я постоянно получаю следующую ошибку
java.lang.IllegalArgumentException: ServletContext must not be null
Любая помощь всегда приветствуется.
Брайан
test/integration/
наtest/unit/
, вы увидите ошибкуServletContext must not be null
. 15.08.2014grails test-app integration:
и проверив, выполняется ли данный тест. 15.08.2014test/unit/
, переместите его вtest/integration/
и запустите тест оттуда. 15.08.2014