Grails 2.0.1: сбой теста Спока с «не задан bean-компонент с именем grailsLinkGenerator», где вызывается редирект - PullRequest
0 голосов
/ 29 марта 2012

Я недавно обновил Grails 1.3.7 до Grails 2.0.1. Приложение работает нормально, но у меня возникают проблемы при очистке тестов.

Все мои тесты являются тестами на спок. И я обновил спок с 0.5-groovy-1.7 до 0.6 при обновлении.

Все тесты контроллера, которые достигнут строки redirect (), завершаются неудачей в этой строке с той же ошибкой:

No bean named 'grailsLinkGenerator' is defined
org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'grailsLinkGenerator' is defined

Есть идеи, чем это вызвано и как я могу их исправить?

1 Ответ

0 голосов
/ 29 марта 2012

Это начало происходить для меня в тестовом модуле контроллера путем расширения ControllerSpec у спока.Переключение обратно, чтобы расширить spock.lang.Specification исправил его.

Спецификация:

package fileupload2

import static org.junit.Assert.assertThat
import static org.hamcrest.core.Is.is

import spock.lang.Specification;

import grails.test.mixin.TestFor
import grails.plugin.spock.ControllerSpec

@TestFor(FileUploadController)
//class FileUploadControllerSpec extends ControllerSpec {
class FileUploadControllerSpec extends Specification {

    def "the index should redirect to create" () {

        when:
            controller.index()

        then:
            assertThat(response.redirectedUrl, is('/fileUpload/create'))
    }

}

CUT:

package fileupload2

class FileUploadController {

    def fileUploadService

    def index() {
        redirect (action: "create")
    }

    def create() {
        render(view: 'create')
    }

    def upload() {
        ... 
    }

}

Я не хочу говорить этоЭто ошибка, так как у меня около 2 недель.

Расширение UnitSpec, похоже, тоже работает.

...