我发现应用程序的行为与我对继承的域类的测试用例的结果不一致。这是涉及该问题的类(仅提供部分代码)。

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:请告知我是否应该提供更多代码。

请您参考如下方法:

...存在类似的问题,建议将其作为集成测试而不是单元测试来处理。问题消失了。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!