фиктивный класс домена, созданный другим классом домена с помощью spock

Я пытаюсь протестировать доменный класс EnityContact. Внутри этого класса есть метод с именем initialize, который при необходимости заполняет некоторые поля. для этого метод создает экземпляры некоторых других доменных классов: AisUser, Entity и CPerson. AisUser — это класс домена, возвращаемый вызовом SecurityUtil.retrieveCurrentAisUser(false).

class EntityContact extends BaseObject implements Initializable{

    ....

    @Override
    void initialize() {
        println "initaliazing"
        isMain = false
        creationDate = new Date()
        createdBy = CPerson.get(SecurityUtil.retrieveCurrentAisUser(false).id)
        entity = new Entity()
        entity.setId(Long.valueOf(0)) //Id has to be initialized with some value
    }
}

Что я пытаюсь сделать, так это найти способ вернуть макеты тех классов, которые я определяю в своей спецификации.

Любые идеи?


person user2855334    schedule 07.10.2013    source источник


Ответы (1)


В Groovy вы можете имитировать статические методы с помощью MetaClass.

SecurityUtil.metaClass.'static'.retrieveCurrentAisUser = { boolean param ->
}
person Community    schedule 07.10.2013