Модераторы: powerOn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тестирование сервиs класса, Не совсем понимаю логику в юнит тестах 
:(
    Опции темы
ShurikA
  Дата 1.10.2013, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Зануда
***


Профиль
Группа: Завсегдатай
Сообщений: 1364
Регистрация: 29.10.2005
Где: Канада

Репутация: нет
Всего: 3



Привет всем!

Давно тут не был... 

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

Есть следующий сервис класс:
Код

package imagery

import grails.transaction.Transactional

@Transactional
class MediaPersistanceService {

    def method() {
        return "test string"
    }
}


И тест к нему:
Код

package imagery

import grails.test.mixin.TestFor
import grails.test.mixin.services.ServiceUnitTestMixin

/**
 * See the API for {@link grails.test.mixin.services.ServiceUnitTestMixin} for usage instructions
 */
@TestFor(MediaPersistanceService)
class MediaPersistanceServiceTests{

    def setup() {
        
    }

    def cleanup() {
    }

    public void testMethod() {
        //service = new MediaPersistanceService()
        
        System.out.print("In Test")
        
        assert service.method() == "test string"
    }
}


если внимательно прочесть доки, то там есть следующее:
Цитата

The TestFor annotation defines the class under test and will automatically create a field for the type of class under test. For example in the above case a "controller" field will be present, however if TestFor was defined for a service a "service" field would be created and so on.


И так оно и есть, в объекте тест класса создаются поле "service", но оно NULL. Вроде как не страшно, можно создать прямо в тесте... Но если я создаю объект сервиса в тесте и приравниваю к тому самому полю "service" (закоментированная строка) то я получаю:
Код

 groovy.lang.ReadOnlyPropertyException: Cannot set readonly property: service for class: imagery.MediaPersistanceServiceTests


Что я упускаю? Мне казалось что если создаётся поле, то я могу с ним работать или же как и многи вещи в Grails, оно автоматом болжно получить тестируеммый объект.

Спасибо за совет.

Это сообщение отредактировал(а) ShurikA - 1.10.2013, 11:41


--------------------
Если долго мучиться, что нибудь получится...
user posted image
PM MAIL WWW ICQ Skype   Вверх
Google
  Дата 19.11.2019, 00:17 (ссылка)  





  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Groovy & Grails | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.