Как мне издеваться над этим объектом с составным идентификатором в Grails 2.4.5? - PullRequest
0 голосов
/ 15 мая 2018
import groovy.transform.EqualsAndHashCode

@EqualsAndHashCode(includes = ['action', 'reason'])
class MyObject implements Serializable {
    String action
    String reason
    String description

    static mapping = {
        table name: "my_object"
        version false
        id composite: ["action", "reason"], generator: 'assigned'

        cache usage: "read-only"

        action column: "prog_action_c"
        reason column: "prog_reason_c"
        description column: "descr_c"
    }
}

Я пытался смоделировать этот объект в своих модульных тестах, как показано ниже:

.....
def setup() {
..
    mockDomain(MyObject,[
          [
            action : 'ACT1',
            reason : 'REAS1',
            description : 'First reason'
          ],
          [
            action : 'ACT2',
            reason : 'REAS2',
            description : 'Second reason'
          ]
     ])

     def myObject = MyObject.first()

}
...

Когда я запрашиваю объект с помощью findAll () или first (), я получаю пустой список или ноль

Как этот объект должен быть высмеян?

1 Ответ

0 голосов
/ 01 июня 2018

Краткий ответ: мы не можем макетировать объекты таким образом в grails 2.4.5 Как мы можем макетировать: определение метода для загрузки этих объектов в ваш контроллер / службу независимо от класса, который вы тестируете.Затем следите за протестированным классом и смоделируйте метод, чтобы вернуть все, что вы хотите, в качестве объекта (ов) домена.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...