Grails / GORM:继承的域类的不一致行为(测试VS Bootstrap)

时间:2011-10-10 05:07:04

标签: inheritance grails gorm

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

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:expected:< 1>但是:< 0>

但是,同一段代码在Bootstrap中运行良好,相关实体甚至出现在FacebookTicket的列表视图中。

这是否是由于GORM测试的一些限制w.r.t.继承域名类或我在这里做错了什么? (Ticket和FacebookPost测试工作正常。)

谢谢。

PS:如果我应该提供更多代码,请告诉我。

1 个答案:

答案 0 :(得分:2)

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