Ошибка модульного теста Groovy / Grails с пользовательским кодеком - PullRequest
0 голосов
/ 15 марта 2011

У меня проблема с учебным пособием «Начало работы с Grails» с веб-сайта Grails.Он заставляет меня создать собственный кодек в каталоге утилит.Я создал кодек, и он работает в приложении, однако, когда я добавляю кодек в мой тестовый модуль контроллера, как предполагает учебник, он терпит неудачу.Вот сообщение, которое я получаю, когда запускаю «grails test-app UserController -unit»:

«Нет такого свойства: SHACodec для класса: racetrack.UserControllerTests»

Я пытался использовать loadCodec() метод, чтобы включить кодек, но получил то же сообщение.

Есть ли у кого-нибудь какие-либо предложения о том, как решить эту проблему модульного теста?Если это проблема импорта, каким будет путь импорта для моего файла SHACodec.groovy, если он находится в / grails-app / utils /?

Мой учебный код доступен для скачивания по адресу http://arlitt.com/racetrack.zip.

Ответы [ 2 ]

1 голос
/ 28 февраля 2012

Я тоже столкнулся с этим (работает через код в книге Grails).

То, что я нашел, работает так: явно загрузите кодек. Вам не нужно включать его в свой импорт. Убедитесь, что файл SHACodec.groovy находится в каталоге grails-app / utils.

Следующий фрагмент кода показывает, как я это сделал.

class UserControllerTests extends ControllerUnitTestCase{
    protected void setUp() {
        super.setUp()

        loadCodec (org.codehaus.groovy.grails.plugins.codecs.Base64Codec)
        loadCodec (racetrack.SHACodec)
    }
    // ...
}
0 голосов
/ 07 июня 2011

Кодеки не загружаются автоматически, их нужно загружать.

См. Этот пост для более подробной информации: http://kousenit.wordpress.com/2010/02/24/using-a-codec-in-a-grails-unit-test/

...