Grails GORM服务类测试withNewSession()

时间:2013-02-03 05:37:25

标签: hibernate grails gorm integration-testing

我正在尝试更新我的测试,因为我对服务类进行了更改。 在我添加的服务方法中(“withNewSession”)

Domain.withNewSession {
  .. ...
  domain.save()
}

由于我使用的是“withNewSession”,因此在我的测试类中模拟了这个域,因此我得到方法缺少异常。

2 个答案:

答案 0 :(得分:5)

单元测试不允许使用 withNewSession方法。在测试类中使用:

@org.junit.Before
void before() {
    DomainClazz.metaClass.static.withNewSession = {Closure c -> c.call() }
}

答案 1 :(得分:0)

您应该使用集成测试来测试持久性,而不是单元测试。仅在测试依赖于域类的控制器或其他类时才使用域类模拟,但域类不是被测试的类。