grails / groovy: как получить доступ к сохраненным объектам домена при модульном тестировании? - PullRequest
0 голосов
/ 12 мая 2011

Я пытаюсь получить доступ к сохраненным объектам домена во время модульного тестирования, поэтому, когда метод контроллера сохраняет класс домена вне области модульного теста, я могу получить к нему доступ, чтобы проверить свойства, установленные для него.

смотрели на domainClassesInfo (DefaultArtefactInfo), спасMetaClasses от запроса этого, но безуспешно.

Это похоже на то, что должно быть легко -

void testMyControllerMethod() {
  mockDomain(MyDomainClass)
  controller.myControllerMethod()
  //get MyDomainClass instance here for test assertions
  //assertEquals value1, myDomainClass.attribute1
}

тогда в контроллере:

def MyControllerMethod() {
  //do stuff
  MyDomainClass myDomainClass = new MyDomainClass(attribute1:value1,attribute2:value2)
  myDomainClass.save()
}

Любые мысли о том, как извлечь сохраненный класс домена, очень ценятся

1 Ответ

2 голосов
/ 12 мая 2011

Если контроллер является единственным, сохраняющим новый экземпляр MyDomainClass, то вы должны быть в состоянии сделать это:

void testMyControllerMethod() {
  mockDomain(MyDomainClass)
  controller.myControllerMethod()
  //get MyDomainClass instance here for test assertions
  def result = MyDomainClass.list()[0]

  assertEquals value1, result.attribute1      
}
...