我发现应用程序的行为与我对继承的域类的测试用例的结果不一致。这是涉及该问题的类(仅提供部分代码)。
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的 列表 View 中。
这是由于GORM测试w.r.t.继承的域类,还是我在这里做错了?
(Ticket和FacebookPost测试工作正常。)
谢谢。
PS:请告知我是否应该提供更多代码。
请您参考如下方法:
...存在类似的问题,建议将其作为集成测试而不是单元测试来处理。问题消失了。




