Я вижу несоответствие в поведении моего приложения по сравнению с результатами теста, который я имею для унаследованного класса домена.Вот классы, вовлеченные в проблему (только часть предоставленного кода).
class Ticket {
String title
String description
Date dateCreated
Date lastUpdated
User postedBy
}
class FacebookTicket extends Ticket {
FacebookPost facebookPost
}
class FacebookPost {
String postId
String message
String postedById
String postedByName
Date createdOnFacebook
Date lastUpdatedOnFacebook
}
Соответствующий тестовый код:
def facebookPost1 = new FacebookPost(postId:"12345", message:"This post should become a ticket", postedById:"09876",postedByName:"Rowz Roller", createdOnFacebook: new Date(), lastUpdatedOnFacebook: new Date())
facebookPost1.save(flush:true)
def facebookTicket1 = new FacebookTicket (title:"Facebook Ticket1",description:"First FACEBOOK ticket here",postedBy:user1,facebookPost: facebookPost1)
mockForConstraintsTests(FacebookTicket, [facebookTicket1])
assertTrue facebookTicket1.validate() //Succeeds
assertNotNull(facebookTicket1.save()) //Succeeds
def instances = FacebookTicket.list()
assertEquals 1,instances.size() //Fails
assertEquals завершается неудачно с junit.framework.AssertionFailedError: ожидается: <1>, но было: <0>
Однако тот же фрагмент кода отлично работает в Bootstrap, и соответствующий объект даже отображается в список просмотр для FacebookTicket.
Это связано с некоторыми ограничениями при тестировании GORM по классам унаследованных доменов, или я что-то здесь не так делаю?(Тесты Ticket и FacebookPost работают нормально.)
Спасибо.
PS: Пожалуйста, дайте мне знать, если я должен предоставить больше кода.